导出工作表,包括VBA和一个命令button

我需要保存多个Excel工作表来分隔文件。 床单被保护和locking,但我想拼写检查可用。 这是可能的VBA使用一个小程序解锁>拼写检查>重新locking

Sub SpellCheck() ActiveSheet.Unprotect Cells.CheckSpelling CustomDictionary:="CUSTOM.DIC", IgnoreUppercase:=False, AlwaysSuggest:=True, SpellLang:=1033 ActiveSheet.Protect End Sub() 

现在我在要输出的工作表上放置了命令button,并分配了我的拼写检查macros。 我用vba将文件保存为XLSM

 Sheets("exportsheet").SaveAs Filename:="mysheet.xlsm", FileFormat:=52 

如果我点击新保存的文件中的button,macros链接到将打开的原始源excel。 分配的macros链接看起来像这样:original_excel.xlsm!spellCheck()

如何导出包含分配给命令button的VBA代码的工作表,以使该macros未分配给原始工作簿。

对此有什么想法?

如果要从工作簿中导出工作表后自行包含工作表,请将其自包含在开头。

将从工作表访问的所有例程放入该工作表的代码模块(而不是共享的标准代码模块)中。

这样,工作表就没有依赖关系,一旦导出到新的工作簿,它就会自成一体。