文件打开时自动打开宏的VBA代码

时间:2019-05-20 07:17:30

标签: excel vba

我有一个主文件,该文件在启动时会自动打开用户表单,让用户选择选项,然后将文件另存为基于这些选择而修改的新版本。启动此操作的代码已分配给ThisWorkbook对象。我希望此版本不包含在开始时打开表格的宏。保存新版本时,有什么方法可以删除这部分代码?

1 个答案:

答案 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代码,但这很危险,并且通常在大多数组织中都被阻止,因为这可能非常危险。