gpt4 book ai didi

VSTO 加载项自动导出自定义 PowerPoint 幻灯片放映

转载 作者:行者123 更新时间:2023-12-05 00:42:04 26 4
gpt4 key购买 nike

我公司的一个小组在一个非常大的 PowerPoint 幻灯片上工作。并非此套牌中的所有幻灯片都与每个人都相关。该套牌的目的是拥有一个单一的 Material 来源,人们可以根据所需的演示类型挑选和选择幻灯片。幻灯片有许多预定义的自定义幻灯片,使这个过程更容易。

虽然此解决方案在许多情况下都运行良好,但我们需要一种简单的方法来快速将自定义节目导出到新的演示文稿中。我的目标是开发一个 VSTO 加载项,它允许用户选择一个或多个自定义幻灯片,然后将幻灯片导出到他们的桌面,我正在寻找一些代码来帮助我上路。

有谁知道如何将现有的自定义节目导出到新的演示文稿?更好的是,有没有办法让用户选择和导出一个或多个现有节目?

最佳答案

好问题,我想自己做这个很久了,所以花时间为你(和我!)弄清楚。

基本上,您需要 a) 遍历所有 NamedSlideShows , b) 通过 SlideID 找到他们的幻灯片, c) 添加一个新的演示文稿,然后 d) 复制 NamedSlideShow幻灯片与原始设计。您可以根据发送命令的方式为一个或所有自定义节目执行此操作。

这是一个例子:

Sub FindShows()
Dim p As PowerPoint.Presentation
Set p = PowerPoint.ActivePresenation
Dim cShow As PowerPoint.NamedSlideShow
For Each cShow In p.SlideShowSettings.NamedSlideShows
SaveCustomShow (cShow.Name, p)
'If using PowerPoint 2010 use the following line instead:
'SaveCustomShow cShow.Name, p
Next
End Sub
FindShows sub 只是在 ActivePresentation 中找到所有自定义节目并将它们发送到一个例程,该例程将根据指定的自定义节目名称创建每个新的演示文稿。您可以根据需要对此进行自定义。

下面的这个例程是它的核心。有几点需要注意:
  • 寄过来的幻灯片设计
    源幻灯片,你必须明确
    将复制的幻灯片设置为使用该幻灯片
    设计。
  • 一个 NamedSlideShow只会给你SlideID里面的幻灯片。
    您可以使用 FindBySlideID到那时
    在原件中识别该幻灯片
    演示文稿 - 它返回一张幻灯片
    目的。然后你只需复制它并
    将其粘贴到设计中
    原来的。

  •     Sub SaveCustomShow(showName As String, p As Presentation)
    Dim cShows As PowerPoint.NamedSlideShows
    Set cShows = p.SlideShowSettings.NamedSlideShows
    Dim cSlideIDs As Variant
    cSlideIDs = cShows(showName).SlideIDs
    Dim destinationPath As String
    destinationPath = "C:\Temp\"
    Dim newP As PowerPoint.Presentation
    Set newP = PowerPoint.Presentations.Add(WithWindow:=False)
    With newP
    .SaveAs destinationPath & cShows(showName).Name
    Dim s As PowerPoint.Slide
    Dim e As Integer
    For e = 1 To UBound(cSlideIDs)
    Set s = p.Slides.FindBySlideID(SlideID:=cSlideIDs(e))
    s.Copy
    .Slides.Paste.Design = s.Design
    Next
    .Save
    .Close
    End With
    Set newP = Nothing
    End Sub

    代码中没有任何错误检查,因此需要解决,但它就像一个魅力!

    关于VSTO 加载项自动导出自定义 PowerPoint 幻灯片放映,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2395113/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com