以幻灯片模式打开PowerPoint演示文稿 - C#

时间:2015-09-14 15:17:35

标签: c# powerpoint

我正在尝试直接在幻灯片放映模式下打开PowerPoint演示文稿。我尝试过使用Process(如下所示),但是我收到一条来自PowerPoint的错误消息,说它无法找到该文件,错误消息“PowerPoint无法读取C://Users/Route%20Plotter.pptx” 。该问题是由文件名中的空格引起的,因为它在删除时会起作用。

string powerPointPath = @"C:\Program Files\Microsoft Office   15\root\office15\powerpnt.exe";
string powerPointFilePath = "\"" + "C://Users/Route Plotter.pptx" + "\"";

Process powerPoint = new Process();
powerPoint.StartInfo.FileName = powerPointPath;
powerPoint.StartInfo.Arguments = " /S " + powerPointFilePath;
powerPoint.Start();

我尝试过使用Office introp方法(如下所示),但无法直接在幻灯片模式下打开。

Microsoft.Office.Interop.PowerPoint.Application pptApp = new Microsoft.Office.Interop.PowerPoint.Application();
pptApp.Visible = Microsoft.Office.Core.MsoTriState.msoTrue;
pptApp.Activate();

Microsoft.Office.Interop.PowerPoint.Presentations ps = pptApp.Presentations;
Microsoft.Office.Interop.PowerPoint.Presentation p = ps.Open(powerPointFilePath, 
            Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue)

任何想法如何阻止它将空格更改为%20(我已经在路径中添加引号),或者将文件直接打开到幻灯片模式的其他方式,将不胜感激。

(我正在使用VS2013和PowerPoint 2013)。

2 个答案:

答案 0 :(得分:0)

感谢DavidG,问题是斜线的方向。正斜杠(/)用于URI,反斜杠()用于文件路径。用反斜杠替换正斜杠可以解决问题。

答案 1 :(得分:0)

以下代码将用于运行Power Point的幻灯片放映模式。只需替换文件路径即可。

'client_credentials' => \Laravel\Passport\Http\Middleware\CheckClientCredentials::class