【发布时间】:2015-09-09 15:15:15
【问题描述】:
我需要将多个 Excel 工作表保存到单独的文件中。 工作表受到保护和锁定,但我想让拼写检查可用。 这可以通过 VBA 使用一个小例程来解锁>拼写检查>重新锁定
Sub SpellCheck()
ActiveSheet.Unprotect
Cells.CheckSpelling CustomDictionary:="CUSTOM.DIC", IgnoreUppercase:=False, AlwaysSuggest:=True, SpellLang:=1033
ActiveSheet.Protect
End Sub()
现在我在要导出的工作表上放置了命令按钮并分配了我的拼写检查宏。 我用 vba 将文件保存为 XLSM
Sheets("exportsheet").SaveAs Filename:="mysheet.xlsm", FileFormat:=52
如果我单击新保存文件中的按钮,宏将链接到将打开的原始源 excel。分配的宏链接如下所示: original_excel.xlsm!spellCheck()
如何以未将宏分配给原始工作簿的方式导出包含分配给命令按钮的 VBA 代码的工作表。
对此有什么想法吗?
【问题讨论】:
-
我怀疑 SpellCheck() 子例程放在标准代码模块中?当您将该特定工作表另存为新工作簿时,Excel 别无选择,只能链接回标准代码模块中的该过程。如果您改为将 SpellCheck() 例程放在工作表模块中,然后将该工作表另存为新文件,会发生什么情况?