以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5) ---- 自定义一个取光标数值的函数 但是通不过 (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=174681) |
|||||
-- 作者:qq代人发帖 -- 发布时间:2020/3/2 13:03:33 -- 自定义一个取光标数值的函数 但是通不过 请教:我想自定义一个取光标数值的函数 但是通不过 请帮忙看看 谢谢 Function SYSPARAM(6)(Grid, Index, x, y) SYSPARAM(6)=0 \'防止公式逐周期模式时调用 If Formula.WorkMode = 0 Then Exit Function End If dim Date dim Values call Grid.ValueByPoint(x,y,Date,Values,true) SYSPARAM(6)=Values End Function |
|||||
-- 作者:yukizzc -- 发布时间:2020/3/2 13:50:25 -- http://www.weistock.com/WeisoftHelp/visualbasiczidingyihanshu.htm 可以通过两种方法添加自定义函数: 1、在公式编辑器界面中,鼠标在“函数”解释定义区单击右键,然后选择“添加自定义函数”。 2、在Visual Basic工程管理器中选择Function模块,进入Visual Basic编辑界面,然后选择“插入”菜单中的“过程”。
必须要按照这种格式去定义,另外看下例子。还有光标数值这种做不到,传入的Formula这个对象是公式对象没法再去获取你grid对象。vba和pel交互传递的只能是公式对象其他不行 |
|||||
-- 作者:小心翼翼 -- 发布时间:2020/3/3 0:27:38 --
|
|||||
-- 作者:小心翼翼 -- 发布时间:2020/3/3 0:33:55 -- 取光标的数值用 sub可以做到 为啥用function个就不行呢? |
|||||
-- 作者:yukizzc -- 发布时间:2020/3/3 13:24:20 -- 自定义函数是pel公式和vba之间交互,pel公式里是没有当前光标这个对象的。 你如果要光标读取就不要用这种交互方式,自己直接在vba里面写不要传递给pel使用 |
|||||
-- 作者:小心翼翼 -- 发布时间:2020/3/12 19:34:32 -- 那怎么用在指标公式里面呢? Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long Private Type POINTAPI \'定义点(Point)结构 X As Long \'点在X坐标(横坐标)上的坐标值 Y As Long \'点在Y坐标(纵坐标)上的坐标值 End Type Dim MyPoint As POINTAPI \' dl&= GetCursorPos(MyPoint) \'调用函数,获取屏幕鼠标坐标 Dim Ypos As Long \' Ypos=MyPoint.Y |
|||||
-- 作者:yukizzc -- 发布时间:2020/3/14 15:54:15 --
vba里把坐标位置通过ini文件方式写到文件里,然后pel里也有读取ini文件的函数 读取INI文件字符串。用法:GETINIFILESTRING(PATH,APP,KEYNAME);PATH为INI文件的路径名,APP为节点名,KEYNAME为数据项名称
这样做交互试试。 你是的这样操作的目的是什么??本身图上十字光标能看到值的,如果用这个来控制程序太不现实 |