我正在尝试打开PowerPoint演示文稿,并将其隐藏起来。我是这样做的:
app = new Microsoft.Office.Interop.PowerPoint.Application();
string presentation = "C:\\presentation.pptx";
Presentation p = app.Presentations.Open(presentation, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
这是最简单的事情,但我收到一个错误说:
应用程序(未知成员):无效请求。没有有效的演示文稿。
但是,如果我将最后一个参数(即WithWindow参数)切换到MsoTriState.msoTrue,则演示文稿打开正常。
您是否有可能导致该错误的任何其他加载项?我运行你的代码(从VBA),它运行良好。
问题中提供的代码可以正常工作,但有一个重要的注意事项:
在C#中,你必须使用它的默认值保留Application.Visible
属性:
var application = new Application();
var document = application.Presentations.Open(fileName, MsoTriState.msoFalse, MsoTriState.msoFalse,
WithWindow: MsoTriState.msoFalse);
如果您明确将Application.Visible
属性设置为MsoTriState.msoFalse
,则会出现“不允许隐藏应用程序窗口”错误。