【发布时间】:2019-07-03 09:55:11
【问题描述】:
我使用一些高级自动化宏开发 VBA 代码,这些宏在 DEV 阶段执行“管道”和额外调试。 但是,当我将文件发送给用户(PROD 阶段)时,我希望将所有这些都关闭。
DEV 和 PROD 之间的切换经常发生(git + devops 方法)。
在 DEV 和 PROD 之间实现快速“切换”的最佳/最优雅的方式是什么? 是的,我可以只使用全局 Const isDebug(我在某些项目中这样做过),但它很繁琐、不优雅且容易出错(我不止一次忘记“翻转”开关——正如我之前所说的那样,快速而敏捷“几乎”CI/CD 管道)。
编辑
现在我正在使用一种快速的脏破解(我不喜欢脏破解)来检查 Excel 文件是否从路径中带有我的登录名的位置运行。如果是 - 这意味着我正在处理文件。如果没有 - 其他人正在使用它,我们不需要任何调试模式。但它很丑陋,而且我可以预见很多问题(例如,明天其他人可能正在开发这些 VBA……因此必须重写调试代码)。
【问题讨论】:
-
嗨@GSerg,感谢您的链接。这是一个非常有趣的想法……但有点矫枉过正:) 同样,我可能只使用一个名为 isDebug 的简单 Const……但是,正如经验所证明的那样,它太不可靠且容易出错。
-
这个问题是基于意见的 imo。有很多选项,一个简单的就是
GetOption/SetOption在特定的计算机上设置一个调试选项,但是你不能有条件编译。但是,您可以在特定工作站上进行调试,而无需重新编译。 -
如何使用文本文件作为条件,如果缺少调试,如果存在,请阅读设置调试开/关。如果在没有文件调试的情况下部署不符合标准,并且如果其他人需要调试,请共享文件。
-
@ComputerVersteher,老实说,这是最好的建议 :) UNIX 方式的排序:触摸 .debug :) 如果您将其写在答案中,我会接受它作为解决方案!简单又甜美。当我(自动)复制我的宏时,用户将没有那个 .debug 文件!完全是我想要的!
标签: excel vba ms-access debugging devops