我正在尝试直接在幻灯片放映模式下打开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)。
答案 0 :(得分:0)
感谢DavidG,问题是斜线的方向。正斜杠(/)用于URI,反斜杠()用于文件路径。用反斜杠替换正斜杠可以解决问题。
答案 1 :(得分:0)
以下代码将用于运行Power Point的幻灯片放映模式。只需替换文件路径即可。
'client_credentials' => \Laravel\Passport\Http\Middleware\CheckClientCredentials::class