【问题标题】:What is the command in Excel VBA to delete a specific macro?Excel VBA中删除特定宏的命令是什么?
【发布时间】:2016-03-31 20:47:32
【问题描述】:

我有一个 Excel 宏模板。我在它上面运行一个宏,它将新的电子表格保存为 xlsx。

我只是想知道是否有一个简单的 VBA 命令可以按名称删除一个宏。

我研究了很多,基本上有两个答案并不适合。

第一个是我正在保存的工作簿中没有宏,只在一个工作簿之间运行宏。 (我不想这样做有几个原因,但简单是主要原因。)

第二个是从工作簿中删除所有 VBA 和连接的 VBA 脚本。 (我不需要它做那么多,我宁愿只删除我拥有的一个宏。)

所以,我正在寻找的是这样的:

Delete.Macro("Import") '此命令删除此工作簿中名为“导入”的宏。

【问题讨论】:

  • 没有简单的“删除此宏”命令。这个site 会帮助你。里面有一个函数叫DeleteProcedureFromModule
  • 将您的解决方案发布为an answer 比编辑您的问题更适合此处的格式 - 这将使其他有相同问题的人更容易找到您的解决方案。

标签: vba excel macros


【解决方案1】:

试试

Sub main()

Application.DisplayAlerts = False   
Workbooks("PutWorkBookName").SaveAs FileFormat:=xlOpenXMLWorkbook    
Application.DisplayAlerts = True

End Sub

【讨论】:

    【解决方案2】:

    有趣的想法,使用 VBA 删除 VBA...但似乎比必要的工作更多。

    activeworkbook.saveas "filename.xlsx", xlExcel12 呢?

    我相信您知道,.xlsx 没有任何代码,因此如果您将警告设置为 false 等,它只会保存文件并删除代码。

    现在,如果我看错了,而您只想删除部分代码,则保留其余代码并另存为 xlsx……您可不走运。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 2022-11-17
      • 1970-01-01
      • 1970-01-01
      • 2018-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多