金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 953|回复: 3

如何实现点击跳转

[复制链接]

30

主题

7075

帖子

7085

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2023-12-27 15:09 | 显示全部楼层 |阅读模式
如何实现VBA点击跳转到对应的品种K线行情界面
截图202312271509507952.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

11

主题

66

帖子

66

积分

等级: 免费版

注册:
2021-6-3
曾用名:
发表于 2023-12-27 15:25 | 显示全部楼层
这个用VBA轻松搞定,需要:
回复

使用道具 举报

11

主题

66

帖子

66

积分

等级: 免费版

注册:
2021-6-3
曾用名:
发表于 2023-12-27 15:34 | 显示全部楼层

我帮你写了一个示范代码:
要点:
1、在list的changge事件(或者Click事件),获取当前选中的项目的合约,分解出市场代码和合约代码;
2、使用Application对象的ActiveFrame方法打开框架;
3、获取指定名称的窗格(Grid),调用Grid对象的ChangeStock和ChangeCyc更换合约和周期。

Sub frmList_ListBox1_Change()
        on error resume next
        iRow=frmList_ListBox1.ListIndex
        if iRow<0 then exit sub
        sCode1=frmList_ListBox1.List(iRow,0)
        sCode=Right(sCode1,len(sCode1)-2)
        sMarket=left(sCode1,2)
        'Application.MsgOut iRow & "," & sCode & "," &sMarket
        ActiveCode sCode,sMarket
End Sub

Sub ActiveCode(sCode,sMarket)
        Application.ActivateFrame "Technic"
        set grid=Technic.GetGridByName("Main")
        iCyc=grid.CycType
        'grid.ReInitDataFormula'重新刷新窗格内公式
        call grid.ChangeStock(sCode,sMarket)
        call grid.ChangeCyc(iCyc, 1)        '刷新
End Sub

回复

使用道具 举报

11

主题

66

帖子

66

积分

等级: 免费版

注册:
2021-6-3
曾用名:
发表于 2023-12-27 15:34 | 显示全部楼层

我帮你写了一个示范代码:

要点:

1、在list的changge事件(或者Click事件),获取当前选中的项目的合约,分解出市场代码和合约代码;

2、使用Application对象的ActiveFrame方法打开框架;

3、获取指定名称的窗格(Grid),调用Grid对象的ChangeStock和ChangeCyc更换合约和周期。



Sub frmList_ListBox1_Change()

        on error resume next

        iRow=frmList_ListBox1.ListIndex

        if iRow<0 then exit sub

        sCode1=frmList_ListBox1.List(iRow,0)

        sCode=Right(sCode1,len(sCode1)-2)

        sMarket=left(sCode1,2)

        'Application.MsgOut iRow & "," & sCode & "," &sMarket

        ActiveCode sCode,sMarket

End Sub



Sub ActiveCode(sCode,sMarket)

        Application.ActivateFrame "Technic"

        set grid=Technic.GetGridByName("Main")

        iCyc=grid.CycType

        'grid.ReInitDataFormula'重新刷新窗格内公式

        call grid.ChangeStock(sCode,sMarket)

        call grid.ChangeCyc(iCyc, 1)        '刷新

End Sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-11-16 09:31 , Processed in 0.269129 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表