如果在前任开发人员离开公司后有人必须继续处理 Excel VBA 项目/模块,他们如何安全地更改全局变量名称?
如果这些全局变量名称具有误导性、拼写错误、看起来像另一个变量、不遵循所选约定等,则可能会出现问题。
使用搜索/替换来更改它们是一个问题,因为有时它是出现在注释中的单词。
通过复制/粘贴来更改它们是一个问题,因为它很长,您可能会错过一些,特别是如果出现很多次或者将其更改为类似的内容。
有没有办法通过 Excel“IDE”或其他工具安全地执行此操作?
最佳答案
这里您需要做的称为重构 - 您需要对代码进行可能危险的更改,而不影响其行为。做错了代码就会崩溃!
重命名在一个或多个地方使用的标识符是一种重命名重构。
大多数现代 IDE 都有这样的功能(以及其他一些重构)。然而,早在 Visual Studio 成为功能齐全的工具之前,VBE 就已达到其辉煌的顶峰 - 哎呀,1998 年的 VBE 是 Visual Studio (6.0)!
所以你确实有两个选择:
- 手动进行重构 - IDE 的搜索和替换功能 (Ctrl+H) 在这里可能很危险,因为它将代码视为简单文本,没有语义理解:您需要单独检查每个出现的情况,否则可能会重命名未引用您要重命名的变量的标识符。
- 使用第 3 方工具 - 除了开源 Rubberduck 之外,我不知道有任何 VBIDE 插件能够足够深入地理解代码以允许安全地重构 VBA 代码。项目,我自 2014 年 10 月以来一直管理该项目)。此插件会解析您的整个项目,构建符号表,并允许您导航,并且可以重构/重命名任何标识符,自动更新所有调用站点。
请注意,Rubberduck 是一个非常活跃的开源项目,并且在不断改进。解析 VBA 是困难,而让 VBE 的功能与现代 IDE 相当并不是一件小事,也不容易......但它很有趣,而且是的,它有效。
关于vba - 如何更改 Excel VBA 项目中的全局变量名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52039816/