我了解到,当通过自动化打开 Excel 时,默认情况下它不会打开其启动项,例如 personal.xls 工作簿。这给我的用户带来了问题,他们有时会通过我的应用程序打开 Excel,然后继续使用它进行其他工作。
不幸的是,以这种方式打开的 Excel 实例不包含其个人宏。他们必须关闭 Excel 并从我的应用程序外部重新打开它,以便他们的宏可用。
有没有办法让Excel在自动启动时自动加载personal.xls工作簿?如果不是,打开该文件的最佳方式是什么,同时要记住它不应该对用户可见,而是保持隐藏状态?
在创建对象和打开应用程序时,我没有找到执行此操作的任何选项
Excel.Application xlApp = new Excel.Application();
任何人都可以提供任何建议或链接,我们将不胜感激。我已经搜索并搜索了这方面的信息,但似乎没有人尝试过解决它的方法。我使用的是 Excel 2007 和 .NET 2.0。
最佳答案
事实证明,简单地找到并打开用户的 personal.xls(或 personal.xlsx,用于在较新版本的 Excel 中创建的用户)就是答案。
Excel.Application xlApp = new Excel.Application();
string filename = xlApp.StartupPath + "\\personal.xls";
xlApp.Workbooks.Open(filename, 0, false, 5, Missing.Value, Missing.Value, false,
Missing.Value, Missing.Value, Missing.Value, false, Missing.Value, false,
true, false);
personal.xls 工作簿在后台隐藏(根据需要)打开,并允许充分使用附加到它的所有宏。
一旦我知道要寻找什么,我就在这篇文章中找到了一些有用的信息:Excel XLSTART problem with C#/.Net
关于c# - 如何在通过自动化启动 Excel 时打开 personal.xls 工作簿?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9590960/