Excel VBA / VSTO:创建新工作簿而不增加"空工作簿名称计数器"

时间:2016-04-23 13:28:02

标签: excel-vba vsto vba excel

创建新的空工作簿时,Excel会将它们命名为" Workbook1"," Workbook2"," Workbook3"等等。 我想创建一个空的,隐藏的工作簿,而不使用其中一个默认名称。 让我们说,用户已经拥有了#34; Workbook1"打开,然后我的代码创建一个隐藏的工作簿,将其命名为" Workbook2"通过Excel。现在,如果用户创建另一个新的工作簿,Excel将调用那个工作簿"工作簿3"。我希望它被命名为#34; Workbook2"。当然,我可以打开一个现有的空工作簿,而不是创建一个工作簿,但这会使部署我的插件变得更加困难。

1 个答案:

答案 0 :(得分:2)

使用增量计数器无法抑制或解决新工作簿的自动命名问题。此计数器在系统范围内工作:它甚至在您启动Excel应用程序的新实例时启动。

如果您不想在项目中分发空白工作簿,则可以通过利用Open Office XML文件格式创建一个工作簿。最简单的可能是将Open XML SDK添加到您的项目中(免费下载,免费许可),并使用它来即时创建新的工作簿。只需在Open XMl SDK Productivity Tool中打开所需的基本工作簿,即可获得该代码。这将生成创建正在打开的Office Open XML文件所需的代码。你应该可以复制/粘贴它......