欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → VBA取图表的参数

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有6932人关注过本帖树形打印复制链接

主题:VBA取图表的参数

帅哥哟,离线,有人找我吗?
madson
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:113 积分:0 威望:0 精华:0 注册:2016/6/6 17:25:45
  发帖心情 Post By:2016/8/1 14:18:46 [显示全部帖子]

想请问:
一个框架,有16个窗格,我想获取每个窗格中的一个指标值,并输出到文件,该怎么写?谢谢

另外,如果有若干个这样的框架都需要这样的操作,可以打开另外的框架再执行一篇,还是在程序中有什么方法可以实现?谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
madson
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:113 积分:0 威望:0 精华:0 注册:2016/6/6 17:25:45
  发帖心情 Post By:2016/8/1 14:36:48 [显示全部帖子]

以下是引用admin在2016-7-12 17:43:47的发言:

读取图表的公式数据不是你这么的用法,请参考下面的范例

 

示例:

Sub Test()
'该示例将把技术分析主图上的MA指标前两条线输出到EXCEL中,使用前请注意将K线主图打开,并显示MA指标
' 得到框架名称为"Technic",窗格名称为"Main"的窗格对象

Set Grid = Technic.GetGridByName("Main")
Set Formula = Grid.GetFormulaByIndex(1)

'创建EXCEL对象
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.Workbooks.Add

'循环遍历得到公式线
for i = 0 to Formula.DataSize-1
'将两条数据线插入到EXCEL第一、二列
objExcel.Cells(i+1,1).Value =Formula.GetBufData("MA1",i)
objExcel.Cells(i+1,2).Value =Formula.GetBufData("MA2",i)
objExcel.Cells(i+1,3).Value =Formula.GetBufDateData(i)
next

End Sub



这段代码新建的Excel人的名称是什么?位置在哪里?


 回到顶部
帅哥哟,离线,有人找我吗?
madson
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:113 积分:0 威望:0 精华:0 注册:2016/6/6 17:25:45
  发帖心情 Post By:2016/8/1 16:16:52 [显示全部帖子]

这个默认新建的excel存放在哪个位置?

 回到顶部
帅哥哟,离线,有人找我吗?
madson
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:113 积分:0 威望:0 精华:0 注册:2016/6/6 17:25:45
  发帖心情 Post By:2016/8/2 11:05:59 [显示全部帖子]

以下是引用madson在2016-8-1 16:16:52的发言:
这个默认新建的excel存放在哪个位置?
执行完,原来直接打开Excel了。
Technic原来是系统框架啊


 回到顶部
帅哥哟,离线,有人找我吗?
madson
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:113 积分:0 威望:0 精华:0 注册:2016/6/6 17:25:45
  发帖心情 Post By:2016/8/2 11:37:28 [显示全部帖子]

我自己写的一个宏,为什么执行时,下拉菜单没有这个宏的名字?

 回到顶部
帅哥哟,离线,有人找我吗?
madson
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:113 积分:0 威望:0 精华:0 注册:2016/6/6 17:25:45
  发帖心情 Post By:2016/8/2 11:39:52 [显示全部帖子]

Sub gethc222()

Set Grid = jy16.GetGridByName("Window1")
Set Formula = Grid.GetFormulaByIndex(1)

'创建EXCEL对象
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.Workbooks.Add

objExcel.Cells(i+1,1).Value =Formula.GetBufData("资产回撤",Formula.DataSize-1)

End Sub

我只想获得资产回撤的最后一个值,打红色的部分是否可以这么写

 回到顶部
帅哥哟,离线,有人找我吗?
madson
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:113 积分:0 威望:0 精华:0 注册:2016/6/6 17:25:45
  发帖心情 Post By:2016/8/2 11:41:07 [显示全部帖子]

objExcel.Cells(1,1).Value =Formula.GetBufData("资产回撤", Formula.DataSize-1)

 回到顶部
帅哥哟,离线,有人找我吗?
madson
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:113 积分:0 威望:0 精华:0 注册:2016/6/6 17:25:45
  发帖心情 Post By:2016/8/2 13:50:19 [显示全部帖子]

Formula.DataSize-1
这么写,是可以的,试一下就知道了。

不过还是想问个问题,GetGridByIndex,这个索引的顺序是怎么样的?如果不是严格的水平垂直切分的窗格,索引排序又是怎么样的呢?

 回到顶部
帅哥哟,离线,有人找我吗?
madson
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:113 积分:0 威望:0 精华:0 注册:2016/6/6 17:25:45
  发帖心情 Post By:2016/8/2 14:12:13 [显示全部帖子]

这个顺序好像不能更改,虽然改了名字,但排序还是不变,是这样吧?
这个排序是根据建立框架时生成的

 回到顶部
帅哥哟,离线,有人找我吗?
madson
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:113 积分:0 威望:0 精华:0 注册:2016/6/6 17:25:45
  发帖心情 Post By:2016/8/2 14:22:59 [显示全部帖子]

运行宏时显示:调用了尚未启动运行框架中的属性和方法

我想在一个宏里实现对多个框架的操作,不能实现吗?或者说,访问框架中窗格的指标值 ,一定要打开这个框架吗?

 回到顶部
总数 18 1 2 下一页