vba - 在 Mac 上的 powerpoint 幻灯片中添加可点击的复选框
问题描述
我想在 PowerPoint 演示幻灯片中添加一个可点击的复选框(一个或多个)。我正在使用 MacOS 和 Microsoft Office 365。
我想可以使用用 VBA 创建的宏,但我不知道需要为此创建什么代码。
如果您能分享必要的代码或建议我在 Mac 下的 pptx 中创建可点击复选框的其他相关方法,我将不胜感激。
解决方案
复选框、标签、文本框等都是 ActiveX 功能,由于 Mac 版本的 Office 或 MacOS 通常不支持 ActiveX,因此您不能像在 Windows 版本的 Office 中那样执行此操作。
您可以通过添加绘制的矩形并为每个矩形分配运行宏操作设置来伪造它。
我维护的 PPT FAQ 上的这个页面解释了如何编写宏。确定单击了哪个形状 https://www.pptfaq.com/FAQ00141_Determine_which_shape_was_clicked.htm
TL;DR - 这是一些示例代码。这可以在 Windows 和 Mac 上运行(PPT 的 VBA 模型中的错误迫使它比其他情况更复杂):
Sub DoSomethingTo(oSh as Shape)
Dim oSl as Slide
Dim oShTemp as Shape
' oSh.Parent returns a valid reference to the shape's host slide:
Set oSl = ActivePresentation.Slides(oSh.Parent.SlideIndex)
' and oSh.Name works:
MsgBox oSh.Name
' So we use those two bits to get a reference
' to the clicked shape like so
Set oShTemp = oSl.Shapes(oSh.Name)
With oShTemp
.TextFrame.TextRange.Text = oSh.Name
' and whatever else you want to do with the shape
End With
End Sub
推荐阅读
- java - Java C# 的 goto 等价物
- polymorphism - rails中的多态关联
- java - gradle:从 5005 更改默认端口
- java - 如何解码`javax.ws.rs.core.Cookie`中的客户端Cookie字符串
- c# - 从 FTP 下载的文件作为流,不能作为文件流打开?
- http - 如何从 Common Lisp/dexador 中的 http 地址下载并保存图像?
- python - 用 python 从 wikipedia 中抓取表格:无法获取列
- javascript - 仅查找以单引号或双引号开头的所有单词的正则表达式
- php - 谷歌字体突然停止在 Wordpress 网站上工作
- vba - 用超链接替换 Word 文件中所有出现的字符串