【问题标题】:From MS Word, how can I add a slide in Powerpoint using VBA从 MS Word,如何使用 VBA 在 Powerpoint 中添加幻灯片
【发布时间】:2019-03-20 02:58:27
【问题描述】:

我正在尝试在演示文稿中添加幻灯片,但出现错误。

上下文: 我有一个包含 200 多页的 word 文件。每个页面都包含一个图像(屏幕截图)。我想为 MS Word 文档中的每个图像创建一个 PowerPoint 文档;我想将图片粘贴到空白布局幻灯片中。

Sub transfert_image_from_WORD_to_PowerPoint()
'I added a Reference Object to this Module (PowerPoint)

'Variable creation
Dim pptPres As PowerPoint.Presentation
Dim pptApp As PowerPoint.Application

Set pptApp = CreateObject("PowerPoint.Application")
pptApp.Visible = True
Set pptPres = pptApp.Presentations.Add

'add Slides
Dim pptSlide As Slide
Dim pptLayout As CustomLayout

Set pptLayout = ActivePresentation.Slides(0).CustomLayout
'Set pptSlide = ActivePresentation.Slides.AddSlide(0, pptLayout)

'Word object creation to contains images.
Dim pic As InlineShape
Dim pslides As Slides

'loop through eanch Picutures in MS Word
For Each pic In ActiveDocument.InlineShapes
    pic.Select
    Selection.Copy
    'Selection.PasteAndFormat wdPasteDefault
Next

End Sub

我在Set pptLayout这行有一个错误

【问题讨论】:

  • 先添加一张幻灯片然后尝试访问它?...
  • 嗨@Sorceri 感谢您的提示,但我该如何实现呢?
  • 我有这个错误:ActiveX can't create object Run-time-error: 429 来自....Slides.AddSlide(0, pptLayout)这一行
  • 在 VBA 中,集合是基于 1 而不是基于零。因此,您不能引用 slides(0),因为它不(不能)存在。您需要先将幻灯片 (1) 添加到新创建的演示文稿中,然后才能引用它。例如

标签: vba ms-word powerpoint


【解决方案1】:

不确定为什么在创建 Presentation 对象时使用 ActivePresentation。无论如何,这是添加幻灯片的方法。你使用CustomeLayouts集合的Add方法,然后就可以添加幻灯片了

Set pptLayout = pptPres.SlideMaster.CustomLayouts.Add(1)
Set pptSlide = pptPres.Slides.AddSlide(1, pptLayout)

【讨论】:

  • 谢谢@Sorceri,我被错误的语法困住了Set pptLayout = ActivePresentation.Slides(1).CustomLayout
猜你喜欢
  • 1970-01-01
  • 2015-07-26
  • 1970-01-01
  • 2022-12-23
  • 1970-01-01
  • 2014-08-29
  • 2015-07-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多