我有一个主文件,该文件在启动时会自动打开用户表单,让用户选择选项,然后将文件另存为基于这些选择而修改的新版本。启动此操作的代码已分配给ThisWorkbook对象。我希望此版本不包含在开始时打开表格的宏。保存新版本时,有什么方法可以删除这部分代码?
答案 0 :(得分:0)
最简单的方法是在运行任何代码之前执行检查。这不会剥离代码,只会阻止其运行。
检查可以是工作簿的名称,也可以是单元格中的值
例如
Private Sub Workbook_Open()
If ThisWorkbook.Name <> "MyMacroWorkbook.xlsx" Then Exit Sub
'current code here
End Sub
或
Private Sub Workbook_Open()
If ThisWorkbook.Worksheets("HiddenWorksheet").Cells(1, 1).Text <> "RunMyMacro" Then Exit Sub
'current code here
End Sub
另一种方法是修改VBA代码,但这很危险,并且通常在大多数组织中都被阻止,因为这可能非常危险。