我已经为excel电子表格编写了一些代码。已使用File - >中找到的标准自定义将此子添加到功能区中。选项 - >自定义功能区。有趣的是,自定义将在Sub写入的EXACT EXCEL文件中运行Sub,即原始文件。
我的用户复制excel文件并进行调整,然后运行sub(通过单击功能区中的自定义按钮),然后打开ORIGINAL模板文件并运行代码。这实际上工作正常 - 我喜欢它,因为它在ACTIVE工作表上运行TEMPLATE代码。但唯一的问题是它还打开了原始模板文件。我如何让它关闭?请记住,它不再是ActiveSheet。
一个可能的答案是检查模板是否打开,然后关闭它(使用静态参考),但我更喜欢比这更优雅的东西。
答案 0 :(得分:0)
您应该可以使用ThisWorkbook
找到模板/原件。
另外,如果您将工作簿的代码作为.xlam而不是.xlsm传递,它将被打开,但不会有窗口,因此用户将看不到它。
不确定您是否已经使用此功能,但在为.xlam添加功能区按钮时,您可能还想使用“仅适用于此工作簿”。 (以.xlam格式提供,您可以将工作簿中的按钮安装到功能区中,而无需依赖文件路径,也无需用户也安装按钮(而是安装.xlam)。)