vba - Powerpoint VBA 演示文稿文件名
问题描述
考虑 PowerPoint 的 VBA - 这是一个有效的演示文稿函数调用吗?
Presentations(".\directory\ppname.ppt")
请注意,这将从 PowerPoint 演示文稿 VBA 中调用,以在子目录中打开另一个。
Microsoft Presentations 示例(和大多数其他示例)并未具体说明接受的文件名形式,例如使用 DOS 脚本中识别的“.”、“..”、“\”指令的那些。
解决方案
这似乎适用于 Powerpoint 2007。
如评论中所述,它需要一个文本块(TextRange)、文件引用的起始位置和长度,以及一个 LinkAddr。LinkAddr 本质上是一个 DOS 样式的文件引用,如“..\folder\ppfile.ppt”。
此处的目的是通过调用其 show.ppt 或 show.ppsm 文件名来启动另一个 PowerPoint 工具。文件名可以使用 MSDOS 文件名来引用其他目录。我不知道它是否可以跨越不同的机器平台,但它似乎可以在一个 Windows 10 系统中工作。我让这个工作的困难在于一些图像的完整路径链接,例如 Visual Basic 代码中的 C:\blah\blah\image.jpg 之类的东西。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
推荐阅读
- c# - Autofac - 将带有 NamedParameter 的键控服务注入构造函数
- javascript - JavaScript 中的按位运算
- arrays - 从 nodejs discord bot 读取 config.json
- node.js - 具有 N-API 部署的 firebase 云功能失败
- z3 - z3py:从 z3 公式中检索分支条件
- python - 根据两列值查找列的值
- spring-boot - Thymeleaf - 获取经过身份验证的用户的全名
- material-table - 将样式应用于 MTableEditRow 操作组件
- javascript - 垂直显示输入值 CSS
- wpf - WPF中使用绑定的异步进度条