【问题标题】:Powerpoint VBA Presentations File namesPowerpoint VBA 演示文稿文件名
【发布时间】:2020-03-05 14:50:56
【问题描述】:

考虑用于 PowerPoint 的 VBA - 这是一个有效的 Presentations 函数调用吗?

Presentations(".\directory\ppname.ppt")

请注意,这将从 PowerPoint 演示文稿 VBA 中调用,以在子目录中打开另一个。

Microsoft Presentations 示例(以及大多数其他示例)并未具体说明接受的文件名形式,例如那些使用在 DOS 脚本中识别的“.”、“..”、“\”指令的那些。

【问题讨论】:

  • 你在使用Presentations.Open吗?
  • Presentations(filename) 语法无效。使用 BigBen 的建议打开演示文稿。至于点符号是否有效……试试吧!但至少某些版本的 PPT 将当前目录设置为活动文件所在的目录,这取决于用户打开演示文稿的方式。从 MRU 列表打开可能会将当前目录设置为几乎任何内容,通常是 Windows\Fonts 文件夹。

标签: vba powerpoint


【解决方案1】:

这似乎适用于 Powerpoint 2007。

如评论中所述,它需要一个文本块(TextRange),文件引用的起始位置和长度,也是一个 LinkAddr。 LinkAddr 本质上是一个 DOS 样式的文件引用,例如“..\folder\ppfile.ppt”。

此处的目的是通过调用其 show.ppt 或 show.ppsm 文件名来启动另一个 PowerPoint 工具。文件名可以使用 MSDOS 文件名来引用其他目录。我不知道它是否可以跨越不同的机器平台,但它似乎可以在一个 Windows 10 系统中工作。 我让这个工作的困难是一些图像的完整路径链接,例如类似于 C:\blah\blah\image.jpg,在 Visual Basic 代码中。 PowerPoint 不喜欢这些,而是​​询问是否启用宏,并在我的一个文件链接要执行时挂断了电话。通过摆脱“宏观”抱怨,这突然开始起作用了。

或者在最近对我的 2007 PowerPoint 工具的修复中修复了一些错误??

去看看……

Sub InsertLink(ByRef Trange As TextRange, fpos As Long, msglen As Long, LinkAddr As String) ' Insert an HTML link into the selected TextFrame. ' get the character range Dim Hrange As TextRange Set Hrange = Trange.Characters(Start:=fpos, length:=msglen) ' make it an HTML link With Hrange.ActionSettings(ppMouseClick) .Action = ppActionHyperlink .Hyperlink.Address = LinkAddr End With End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 2015-12-28
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 2016-05-10
    相关资源
    最近更新 更多