以幻灯片模式打开2个演示文稿

时间:2013-11-29 04:13:43

标签: vb.net process powerpoint

我使用后续代码以幻灯片放映模式打开演示文稿:(请注意,str_PresFileOpen是一个包含文件paht的字符串)

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

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

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

2 个答案:

答案 0 :(得分:0)

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

我猜测Process.Start尝试打开一个新的PowerPoint实例,因此它可能不适用于您所追求的内容。自动化现有PPT实例以打开第二个(第三个,第四个......)文件就可以了。

答案 1 :(得分:0)

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

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的其他实例,这就是它工作的原因。     Imports System.Runtime.InteropServices