以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  定义变量时public、private、dim的区别  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=88778)

--  作者:chendong
--  发布时间:2015/12/23 19:24:15
--  定义变量时public、private、dim的区别
请问在定义变量时,public、private、dim的区别。如果什么都不用,则应该是指哪个。

在VBA程序中,是否能启动外部的可执行程序(exe程序),如何做?

--  作者:王锋
--  发布时间:2015/12/24 10:30:47
--  

public、private 用在类模块中的,定义该变量在模块中的访问权限,dim 主要是声明一个普通变量使用,如果你在VBS中使用了变量在使用前必须要申明就需要每个使用的变量都Dim一下,这个推荐初学者使用这个模式。具体的VBS的编程基础不再我们金字塔的服务范围内,建议客户自行网络或者书店购买VBS及OFFCIE VBA的开发书籍。

 

Application 对象

WinExec 执行一个外部应用程序


--  作者:chendong
--  发布时间:2015/12/24 11:34:15
--  
在网上搜索了下,是这样说的:

1、PublicPrivate一般用于定义全局变量,也可以在类中使用。

1-1、区别在于:[Public]前者定义的是公共变量,如果在一个模块当中使用,那么整个应用程序都能使用它所定义的变量,如果在类中使用,那么它就是一个共有属性。

[Private]而后者定义的是私有变量,如果在一个模块中使用,那么只有这个模块才能访问到它所定义的变量,如果在类中使用,那么它就是一个私有属性。

2、DimStatic一般在过程(Sub或者Function)内部使用,它们所定义的变量都只能在过程内部被访问。

2-1、区别在于:[Dim]前者定义的是动态变量,过程一旦结束,该变量所占有的内存就会被系统回收,而变量所储存的数据就会被破坏。

[Static]后者定义的是静态变量,这意味着在过程结束后这个变量所占有的内存不会被回收,数据当然也不会被破坏了,这样当你下次再调用该过程的时候,数据就依然存在。

相比之下,Public和Static都有保留数据不被破坏的作用,但是,前者适合于那些所有过程都可能访问到的变量,而后者则把变量的作用范围缩在最小(只在该过程内能被访问)。