【问题标题】:What are some other methods I can use INSTEAD of "ActivePresentation" in PowerPoint VBA我可以在 PowerPoint VBA 中使用“ActivePresentation”的替代方法还有哪些其他方法
【发布时间】:2019-04-13 00:14:41
【问题描述】:

我目前正在使用 PowerPoint VBA 并编写代码,以便能够复制第一张幻灯片并将其再次粘贴到同一个演示文稿中。但是,我不断收到错误“剪贴板为空或包含可能不会在此处发布的数据”,根据 Microsoft 页面,问题是使用“ActivePresentation”

我正在寻找另一种方法来引用我打开的幻灯片而不使用 ActivePresentation。有什么帮助吗?想法?

我使用 ActivePresentation 的代码行如下:

ActivePresentation.Slides(1).Copy
ActivePresentation.Slides.Paste(ActivePresentation.Slides.Count=1)

【问题讨论】:

  • 您引用的是哪个 Microsoft 页面?顺便问一下,= 是错字吗?好像是这样。

标签: vba powerpoint


【解决方案1】:

不要复制,复制

Dim NewSlide as Slide
Set newSlide = ActivePresentation.Slides(1).Duplicate
NewSlide.MoveTo toPos:=4  'move it to become the fourth slide

【讨论】:

    【解决方案2】:

    骚扰爸爸的解决方案略有不同。 PPT 在 Set 行咆哮,因为 Duplicate 返回的是 SlideRange 对象而不是 Slide 对象。 .Duplicate(1) 将范围内的第一张幻灯片作为 Slide 对象返回。这将复制幻灯片 2 并将其移动到演示文稿中的第一个位置。

    Sub CopySlide()
        Dim oSl As Slide
        With ActivePresentation
            Set oSl = .Slides(2).Duplicate(1)
            oSl.MoveTo (1)
        End With
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多