首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >以幻灯片方式打开PowerPoint演示文稿- C#

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

Stack Overflow用户
提问于 2015-09-14 15:17:34
回答 2查看 4.9K关注 0票数 1

我试图在幻灯片放映模式下直接打开一个PowerPoint演示文稿。我尝试使用一个进程(如下面所示),但是我从PowerPoint获得了一条错误消息,表示它找不到文件,错误消息是"PowerPoint无法读取C://User/路由%20 Plotter.pptx“。该问题是由文件名中的空白引起的,因为它在删除时起作用。

代码语言:javascript
运行
复制
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方法(如下所示),但无法在幻灯片模式下直接打开它。

代码语言:javascript
运行
复制
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)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-15 07:44:15

多亏了DavidG,问题就成了斜杠的方向。正斜杠(/)用于URI,反斜杠(\)用于文件路径。将正斜杠替换为反斜杠解决了问题。

票数 0
EN

Stack Overflow用户

发布于 2019-11-15 14:00:40

下面的代码将用于运行Point的幻灯片显示模式。只要你替换文件路径就够了。

代码语言:javascript
运行
复制
        Application ppApp = new Application();
        ppApp.Visible = MsoTriState.msoTrue;

        Presentations ppPresens = ppApp.Presentations;
        Presentation objPres = ppPresens.Open("C:\\Users\\Users\\Documents\\Projects\\LS\\WindowsFormsApp1\\PPT.pptx", MsoTriState.msoFalse, MsoTriState.msoTrue, MsoTriState.msoTrue);
        Slides objSlides = objPres.Slides;

        SlideShowWindows objSSWs;
        SlideShowSettings objSSS;
        //Run the Slide show                                
        objSSS = objPres.SlideShowSettings;
        objSSS.Run();
        objSSWs = ppApp.SlideShowWindows;
        while (objSSWs.Count >= 1) System.Threading.Thread.Sleep(100);
        //Close the presentation without saving changes and quit PowerPoint                             
        objPres.Close();
        ppApp.Quit();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32568349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档