egua 发表于 2007-1-11 21:11:00

如何保存输入的命令?

建立了一个宏,将其做成按钮,当第一次按时,用getreal实现了输入数值,
怎么才能第二次点击该按钮时实现此数值的保留,而不用再次输入?
如同2006中cad中的命令一样~

sody 发表于 2007-1-11 21:24:00

和我的问题差不多,好像VBA中的静态变量是个瓶颈
有个变通的办法是把变量保存在form中
但是觉得太别扭啊
难道static语句真的没用?那为什么却有这个声明呢

egua 发表于 2007-1-11 21:29:00

难道只能用lisp了么?

zhang007 发表于 2007-1-11 22:13:00

你应该说得更清楚一些,比如第二次点击该按钮时整个程序退出了没有,如果整个程序已退出了,则数据可保存在外部(注册表、文本文件等),下次启动时读取它即可

egua 发表于 2007-1-11 22:22:00


这么说吧:
我第一次根据提示输入文字内容和字高,程序根据我的输入在图上绘出文字,
第二次再运行这个宏我就只输入文字内容,字高还使用上次那个!
就好像cad中pline线的画法,能够自动保存上一次的线宽数值~请帮忙啦~

wyj7485 发表于 2007-1-12 08:17:00

建议用注册表来实现

egua 发表于 2007-1-12 09:06:00

斑竹能说得具体点么?我是菜鸟

wyj7485 发表于 2007-1-12 09:15:00

SaveSetting ,GetSetting ,DeleteSetting 函数
本示例首先使用 SaveSetting 语句来建立Windows注册区(或 16位 Windows 平台的.ini档)里 appname 应用程序的项目,然后使用 GetSetting 函数来得到其中一项设置并显示出来。因为有传入参数 default,GetSetting 函数一定会有返回值。请注意,section 名称不能用 GetSetting 函数取得。最后,使用 DeleteSetting 语句将该应用程序项删除。
' 用来保存 GetSetting 函数所返回之二维数组数据的变量。
Dim MySettings As Variant
' 在注册区中添加项目。
SaveSetting "MyApp","Startup", "Top", 75
SaveSetting "MyApp","Startup", "Left", 50Debug.Print GetSetting(appname := "MyApp", section := "Startup", _
                     key := "Left", default := "25")DeleteSetting "MyApp", "Startup"

egua 发表于 2007-1-12 11:02:00

这种方法似乎不太好用,我的宏只是一个一个简单程序,我希望我所保留的字高在Autocad关闭的时候能够清除,而不是在宏完成时进行清除。下一次启动cad可能会有不同的字高~

wyj7485 发表于 2007-1-12 11:16:00

那就把它保存在系统的USERR1-5变量中吧
页: [1]
查看完整版本: 如何保存输入的命令?