【问题标题】:Opening 2 Presentations in Slideshow Mode以幻灯片模式打开 2 个演示文稿
【发布时间】:2023-03-08 16:59:01
【问题描述】:

我使用以下代码以幻灯片模式打开演示文稿:(注意 str_PresFileOpen 是一个包含文件路径的字符串)

Process.Start("powerpnt", "/s """ & str_PresFileOpen & """")

但这会导致一个问题 - 一旦我以幻灯片模式打开一个 powerpoint 演示文稿,我就无法在幻灯片模式下打开另一个演示文稿(使用相同的代码)。

如何以幻灯片模式同时打开多个演示文稿?我的意思是我打开一个,然后过一会儿用户可以点击打开另一个演示文件 - 我也想以幻灯片模式打开这个文件。

【问题讨论】:

    标签: vb.net process powerpoint


    【解决方案1】:

    您可以在单个 PowerPoint 实例中打开任意数量的演示文稿,无论是否处于幻灯片放映模式,但您只能拥有一个 PowerPoint 实例。

    我猜 Process.Start 会尝试打开一个新的 PowerPoint 实例,因此它可能无法满足您的需求。自动化现有的 PPT 实例以打开第二个(第三个、第四个...)文件就可以完成这项工作。

    【讨论】:

    【解决方案2】:

    在研究互操作后 - 我设法编写了以下代码并且它可以工作 - 它以幻灯片模式打开多个演示文稿:

    Private Sub OpenSlideShow(FullPath As String)
    Dim powerpointApp = New Microsoft.Office.Interop.PowerPoint.Application()
    powerpointApp.Visible = MsoTriState.msoTrue
    Dim presentaions = powerpointApp.Presentations
    Dim myPresentation = presentaions.Open(FullPath, MsoTriState.msoTrue, MsoTriState.msoFalse,MsoTriState.msoFalse)
    Dim slideShowSettings = myPresentation.SlideShowSettings
    slideShowSettings.Run()
    End Sub
    

    注意 - 必须导入以下内容:

    Imports Microsoft.Office.Core
    Imports Microsoft.Office.Interop
    

    此代码的作用是它不会一次又一次地尝试打开 powerpoint 进程(这将不起作用),但它会打开其他 powerpoint 实例,这就是它起作用的原因。 导入 System.Runtime.InteropServices

    【讨论】:

      猜你喜欢
      • 2013-12-14
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-29
      • 1970-01-01
      • 2014-10-19
      相关资源
      最近更新 更多