【问题标题】:VBA for Powerpoint: Change Slide in One Powerpoint by Selecting Button in AnotherVBA for Powerpoint:通过选择另一个 Powerpoint 中的按钮来更改幻灯片
【发布时间】:2020-01-29 14:19:54
【问题描述】:

我是 VBA 的初学者。

我正在设计一个有点互动的 Powerpoint 演示文稿。我希望能够打开三个单独的 Powerpoint 演示文稿,它们将链接在一起。我一直在尝试(没有成功)在 VBA 中创建代码,该代码将通过单击另一个 Powerpoint 文件中的按钮来更改当前显示的幻灯片。我可以超链接到设置的幻灯片,但这会导致该幻灯片在单击它的同一屏幕上弹出,尽管它已经在另一个屏幕中打开(我不想要这个)。

提前感谢您的帮助, 冬青

【问题讨论】:

  • 如果您 edit 对您当前的代码提出问题,会有所帮助,谢谢!
  • 我还没有真正得到任何东西,我尝试了很多东西,但正如我所说,初学者!我有使用其他语言的经验,但发现 VBA 语法确实令人困惑。任何帮助将不胜感激......

标签: vba powerpoint


【解决方案1】:

VBA 使用的对象模型是代表应用程序的属性和函数的巨大层次结构。您可以使用此模型查看和更新​​属性以获取文本、调整大小和修改应用程序。您应该查看一些教程以帮助您入门。编辑代码时,您可以按 F2 来查看和探索此对象模型。您可以按 F8 逐行运行代码(调试模式)并查看发生了什么。 对于您的问题,您可以访问 application.presentations 对象 (https://docs.microsoft.com/en-us/office/vba/api/powerpoint.presentations) 中的打开演示文稿。然后,您可以使用该列表中的演示文稿并使用 ActiveWindow.View.goToSlide 函数 (https://docs.microsoft.com/en-us/office/vba/api/powerpoint.view.gotoslide)。这是我在 VBA 之旅中使用的免费教程 (https://www.tutorialspoint.com/vba/index.htm)。

【讨论】:

  • 嗨,院长,非常感谢您的回复。这真的很有用,我在搜索时遇到了其中一些功能。我真的需要尽快完成这项工作——你有没有机会把一些示例代码放在一起,我可以试试?再次感谢 - 霍莉 :)
  • 很高兴我能帮上忙。我为您找到了这篇文章,它演示了如何链接到可能根本不需要任何代码或 VBA 的其他演示文稿 (howtogeek.com/442559/…)。并且作为提醒堆栈溢出指南建议您发布您尝试过的代码并寻求其实施的帮助。我们不能为你写。 stackoverflow.com/help/minimal-reproducible-example
  • 您好,对不起,我没有意识到我必须发布一些代码。我尝试了一些,但没有成功,而且由于我对 VBA 知之甚少,我真的很困惑要写什么。我看过这篇文章,但它进行了设置,因此新幻灯片与我原来的 Powerpoint 在同一个屏幕上播放 - 我希望它在第二个中更改,并且原始幻灯片保持不变。
【解决方案2】:

PowerPoint 有一个 Presentations 集合,其中包含所有当前打开的演示文稿。您可以通过 Presentations("name") 获得对其中任何一个的引用,其中“name”是演示文稿的文件名,无扩展名。

所以...假设您打开了三个演示文稿,a.pptx、b.pptx、c.pptx,您可以执行以下操作:

Sub SlideChange()
    With Presentations("c")
        .SlideShowWindow.View.GotoSlide (3)
    End With
End Sub

如果您在任何演示文稿中运行上述内容,它会将显示演示文稿 c 的幻灯片放映窗口更改为第三张幻灯片。

【讨论】:

  • 非常感谢,这很有效,我花了一整天的时间在工作中尝试这样做!!!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多