2

我正在尝试在 Excel 2007 中创建一个宏,该宏将在完成运行并关闭 Excel 时自行删除。我想这样做的原因是我要将工作簿发送给其他人,我不希望他们看到有关宏的安全警告。将生成此工作簿的多个版本,因此我不想手动运行并删除每个版本的宏。

我试过下面的代码。它运行没有错误,但实际上并没有删除宏。如果我删除“ActiveWorkbook.Close SaveChanges:=True”行,宏将被删除,但这会提示用户在 Excel 关闭时保存工作簿。有没有办法在没有用户交互的情况下做到这一点?

Dim ActiveComponent
Set ActiveComponent = ActiveWorkbook.VBProject.VBComponents("ModuleName")
ActiveWorkbook.VBProject.VBComponents.Remove (ActiveComponent)
ActiveWorkbook.Save
Application.Quit
ActiveWorkbook.Close SaveChanges:=True
4

1 回答 1

1

为什么不将您的宏移动到另一个工作簿并让它们在您发送的工作簿上运行?

于 2012-08-10T16:01:09.820 回答