【发布时间】:2015-11-12 23:11:06
【问题描述】:
我正在运行一个 Excel 2010 宏,该宏会打开另一个工作簿并删除一些代码模块(一个表单和一个 BAS 模块)。之后,它将它们重新导入为更新版本。这是代码:
For Each x In destination_wb.VBProject.VBComponents
If LCase(x.Name) Like LCase("frmCCLogin*") Or _
LCase(x.Name) Like LCase("modCQ_test*") Then
destination_wb.VBProject.VBComponents.Remove (x)
Next
我对导入没有任何问题,但删除过程并不总是按预期工作。由于某种原因,BAS (modCQ_test.bas) 模块并不总是被删除。结果,当我重新导入时,会创建一个以“1”结尾的新复制模块(即 modCQ_test1.bas)。 我可以看到很多人都遇到了同样的问题,但是,没有一个建议的解决方案对我有用。不知道为什么会这样? 请指教。
【问题讨论】:
-
您是否尝试为真/假设置
Debug.Print以输出它找到的每个名称?另外,您可以将LCase(x.Name) Like LCase("frmCCLogin*")更改为Left(LCase(x.Name), 10) = "frmcclogin"(也用于其他检查) -
我将帖子标题更改为更相关。