乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 174|回复: 6

VBA-如何维护代码?

[复制链接]

71

主题

483

帖子

7

银币

中流砥柱

Rank: 25

铜币
765
发表于 2017-9-21 18:15:22 | 显示全部楼层 |阅读模式
大家好,这是一个新手;不管如何在VBA中维护代码,lisper(me)提出了一个问题:
正如你们中的一些人所知,在LISP中,它非常简单,您只需使用文本编辑器编写和编辑代码,然后几个月/年可能就会过去,您仍然可以重新打开该.lsp文件并对其进行改进或修改。当然,可选的是完成一个.vlx文件并保留.lsp文件以进行进一步改进
但现在我'我试图开始使用VBA,这个问题是我的第一个缺点:
显然,您创建了几个模块/用户表单,并在其中编写了一些代码,然后将整个项目保存为.dvb文件(ctrl+s)
之后,关闭AutoCAD并再次启动新会话,决定重新打开之前编写的项目,但我找到的唯一方法是尝试导入.dvb文件,这样我'我最终得到了一个编译的s*it…,那么维护VBA项目(代码)的正确方法是什么?
回复

使用道具 举报

71

主题

483

帖子

7

银币

中流砥柱

Rank: 25

铜币
765
发表于 2017-9-21 18:55:16 | 显示全部楼层
我倾向于导出基本(.bas)文件,即文本格式。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2017-9-21 19:13:56 | 显示全部楼层
如果您引用Visual Basic应用程序可扩展性的运行时(我在手机上发布-因此可能没有确切的名称-但应该很接近),您可以编写代码来迭代所有项目和代码窗格等,并将代码导出到.bas和.cls文件(如适用)。我特别为excel这样做——每次按{ctr}{b},它都会用导出的代码创建一个过时的文件夹层次结构。O、 O
回复

使用道具 举报

71

主题

483

帖子

7

银币

中流砥柱

Rank: 25

铜币
765
发表于 2017-9-21 20:02:00 | 显示全部楼层

我刚刚注意到可以导出单个模块/用户表单,谢谢李
嗯..我明白了,所以需要一个导出/导入项目层次结构的函数(我认为这样的选项必须是内置的<duh>)
谢谢你,迈克尔![顺便说一句,平板电脑可能更适合写作]
我想我'我将坚持使用lisp编写对象脚本,并使用VBAIDE编辑器(以及一些internet VBA代码)指导我完成对象脚本任务
我只希望一点一点地'我会习惯VBA(尽管我最近的问题是lisp可以解决的),所以这是我第一次使用VBA
回复

使用道具 举报

7

主题

100

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2017-9-22 04:34:46 | 显示全部楼层
别忘了,你可以用很多函数编写大型VBA代码,所以你只有一个代码版本。是的,你也可以用lisps编写同样的代码。您的表单re DCL也保存在文件中,更不用说表单是交互式的,而不是编写代码和测试
很好的一点是,您可以将代码分组到一个标题下,以获得一个公共主题,然后跳转到这组代码。在lisp中,你必须说向下滚动到defun的顶层才能看到该组中的所有函数
李,你能在VLIDE做这个吗
回复

使用道具 举报

71

主题

483

帖子

7

银币

中流砥柱

Rank: 25

铜币
765
发表于 2017-9-22 16:32:43 | 显示全部楼层
您好,BIGAL,我只是从我的角度分享一下印象:
好吧,lisp替代方法(显然)只是动态创建dcl文件
我同意,在灵活创建对话框和为每个互动程序分配子程序方面,使用用户表单似乎要容易得多
但我看到的主要优点是,您可以使用标准DCL无法使用的互动程序:ComboBox-TabStrip-Multipage当然,您可以模拟类似的行为(例如使用按钮和嵌套对话框,它们代表“Multipage”控件)
还有一个程序可以生成(标准)DCL代码,同时创建类似于VBA的对话框;但是我还没有试过
我更喜欢使用NP++;按折叠缩进“;插件可以快速轻松地格式化,只需双击一个单词即可高亮显示其所有实例(defun)
另一件事是,当我的主defun中有defun时,我保留了一个有用的结构:
[代码另一个重要规则是marko_ribar'关于处理非常大/长的程序,我的帖子上有一些建议
从那以后,我从未迷失在我的LISP代码中,并且很容易维护它,因此我的调试任务仅限于可疑的评估(其余部分是根据经验、直觉和其他人的示例编写的)
这就是为什么我从未使用VLIDE,而是使用NP++(我觉得在VLIDE中从头开始写代码并不舒服)。然而,我经常使用VLIDE#039;s控制台,用于检查/跟踪评估I'我不确定他们的回报,他们会不会出错
回复

使用道具 举报

71

主题

483

帖子

7

银币

中流砥柱

Rank: 25

铜币
765
发表于 2017-9-26 11:06:46 | 显示全部楼层
必须编译所有vba才能运行。我不知道'我看不出你在担心什么。如果您有较旧的dvb,在较新版本的vba中打开它将自动升级。本人'在过去的20年里,我从来没有在dvb中留下过代码的问题。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-28 19:20 , Processed in 0.247305 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表