繁体   English   中英

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

[英]Excel VBA/VSTO: Create new workbook without incrementing “empty workbook name counter”

创建新的空工作簿时,Excel会将它们命名为“ Workbook1”,“ Workbook2”,“ Workbook3”,依此类推。 我想创建一个空的,隐藏的工作簿,而不使用这些默认名称之一。 假设用户已经打开“ Workbook1”,然后我的代码创建了一个隐藏的工作簿,该工作簿将被Excel命名为“ Workbook2”。 现在,如果用户创建了另一个新的工作簿,则Excel会将其称为“ Workbook3”。 我希望它被命名为“ Workbook2”。 当然,我可以打开一个现有的空工作簿,而不是创建一个工作簿,但这使部署外接程序变得更加困难。

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

如果您不想随项目一起分发空工作簿,则可以利用Open Office XML文件格式来创建一个工作簿。 最简单的方法可能是将Open XML SDK添加到您的项目中(免费下载,免费许可证),并使用它动态创建新的工作簿。 您只需在Open XMl SDK生产率工具中打开所需的基本工作簿即可获得相应的代码。 这将生成创建要打开的Office Open XML文件所需的代码。 您应该能够复制/粘贴...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM