当我尝试设置属性时:PowerPoint.ApplicationClass().Visible = False
我收到以下错误消息:
"Invalid request. Hiding the application window is not allowed."
我在eggheadcafe发现了这个old thread。所以我按照这样的方式修改了我的代码:
com_ppt = self.com_app.Presentations.Open(filename, WithWindow = False)
但是,这只隐藏了演示文稿,但仍然打开了一个APPLICATION WINDOW。所以,基本上,PPT打开但内部没有任何演示。任何对这个谜团的帮助都将不胜感激。
答案 0 :(得分:2)
这就是我想出来的。似乎到目前为止工作:
if self.isVisible:
self.com_app.Visible = self.isVisible
com_ppt = self.com_app.Presentations.Open(filename, WithWindow = isVisible)
据我所知,你只能将“可见”设为等于真。如果你试图将它设置为False,它就会窒息。但是,如果要隐藏窗口,则不能将Visible设置为true,然后将withWindow设置为false。似乎Visible有第三个状态(例如,“undefined”或“default”),为了将WithWindow设置为False并且ppt应用程序保持关闭状态,必须显示该状态。
答案 1 :(得分:0)
WithWindow必须是msoFalse:
WithWindow: Microsoft.Office.Core.MsoTriState.msoFalse
答案 2 :(得分:0)
在C#中,您必须保留Application.Visible
属性的默认值:
var application = new Application();
var document = application.Presentations.Open(fileName, MsoTriState.msoFalse, MsoTriState.msoFalse,
WithWindow: MsoTriState.msoFalse);
如果将Application.Visible
属性显式设置为MsoTriState.msoFalse
,则会收到“不允许隐藏应用程序窗口”错误。