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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 哪里出了问题

   

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


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

主题:哪里出了问题

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


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2013/4/29 20:21:52 [显示全部帖子]

一、OFFICE vba的变量有工程级、模块级和过程级,还有公有、私有概念。 请问金字塔有没有这些概念?
    答:金字塔中工程级别的变量需要设置为public型,模块级别设置为private型,过程级别不用说就是过程中定义的。至于公有私有之类,可以理解为public和private。
    例如:一个工程中有两个模块ModOne,ModTwo,如果你希望有某一个变量在两个模块中都能使用,那么就在其中任意一个模块的开始位置定义为public就可以了,而每一个模块开头的地方以private定义的变量,只在该模块各个过程可见:
    ‘ModOne模块1中定义变量的情况
     public pVar1,pVar2            '全局变量(整个工程可见)
     private Var1,Var2               '模块级变量或私有变量(只在本模块各个过程可见)
     Sub test1()
          pVar1=99
          application.msgout "Test1中给pVar1赋值为" & pVar1
          dim aaa                          '过程级别的变量,只在test1可见
          aaa=888
     End Sub

     Sub Test2()
            application.msgout "Test2中pVar1的值为" & pVar1
     End Sub

    'ModTwo定义变量的情况
    private Var3,Var4
    Sub Test3()
        application.msgout "模块1中定义的全局变量pVar1,在模块2中依然可见"&pVar1
   End Sub


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


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2013/4/29 20:25:44 [显示全部帖子]

二、调试最好的方法依然是application.msgout显示运行过程的变量状态,停止之后不能定位到上次修改位置的问题,建议记住所在的行号,这样就可以很快定位到那里了。


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


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2013/4/29 20:29:03 [显示全部帖子]

三、gethistorydata确实只能引用一次,如果你需要引用多个,可以考虑使用数组,将第一个的数据保存到数组,
    minutedata和reportdata可以引用多个


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


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2013/4/29 20:37:18 [显示全部帖子]

五、工具->选项->多框架显示模式,开启就可以
六、只要用一个VBAStart事件就可以了,Start事件可以不理会
七、”执行“意识就是启动VBA引擎的意思,系统就会启动VBA引擎,自动执行Application_VbaStart事件。
    你要执行的代码,放在vbastart事件就行了,至于其他的代码,如果需要反复调用的,需要使用定时器。
    如果是需要与人交互的,就要使用窗体,窗体上提供调用某些功能的按钮。



 回到顶部