【发布时间】:2018-09-19 10:58:29
【问题描述】:
我正在尝试在一个模块中执行以下操作:
- 在运行时替换另一个模块中的
Public Const。 - 调用使用更新后的公共常量的过程
但是,它会引发错误:
此时无法进入休息模式
尽管它确实更新了公共常量。
我尝试按 F5 来恢复执行,但没有帮助。有什么建议吗?
Sub AB()
Call LoadQuoteDetails2.Automation
Application.VBE _
.ActiveVBProject _
.VBComponents _
.Item("mod00Admin") _
.CodeModule _
.ReplaceLine 2, "Public Const QuoteDB = ""A:\1.0 Projects\P0445 Ireland Commercial Raters\02 Analysis\05 Rate Assessor\ROI Fleet Rater\Quote Database\Quote DB June 18.accdb"""
Call CalcTariffPrem
End Sub
【问题讨论】:
-
如何“更新”公共常量?
-
使用这个,我正在更改声明的公共常量 Application.VBE.ActiveVBProject.VBComponents.Item("mod00Admin").CodeModule.ReplaceLine 2, "Public Const QuoteDB = ""A:\1.0 Projects \P0445 Ireland Commercial Raters\02 Analysis\05 Rate Assessor\ROI Fleet Rater\Quote Database\Quote DB June 18.accdb"""
-
您正在尝试使用程序修改在程序运行时无法修改的行:如果您在使用 F8 单步执行时尝试手动执行此操作,那么它会告诉您需要重置项目。我能看到这样做的唯一方法是来自不同的应用程序 - 你可能能够从不同数据库中的宏中做到这一点,但我很怀疑
-
总的来说,我建议如果这是常规操作,那么您应该将数据存储在“设置”表中,并在运行时从那里检索。
-
首先,如果你想改变那个常量的值,那么,它不是一个常量。其次,错误可能是因为您需要在 Excel 中设置一个选项。确保检查 Excel 选项->受信任的站点->受信任站点的设置-> 宏设置-> 检查对 Visual Basic Edito 的信任访问
标签: excel vba metaprogramming breakpoints vbe