【发布时间】:2017-08-15 06:09:59
【问题描述】:
我创建了一个宏来帮助需要经常更新的 PowerPoint 演示文稿。
而不是每次我想在单独的演示文稿中创建一个按钮时都进入 Visual Basic 编辑器并导入宏,这将提示用户单击宏需要处理的演示文稿。类似于拥有一个只有一个按钮的 Excel 文档来处理工作簿。
下面是我在 excel 中执行类似操作的代码(让用户单击工作表并在工作表上激活和运行宏)。
Dim uiSheet As Worksheet
On Error Resume Next
Set uiSheet = Application.InputBox("Select a cell on the key sheet.", Type:=8).Parent
On Error GoTo 0
If uiSheet Is Nothing Then
MsgBox "Cancelled"
ElseIf MsgBox("You Selected " & Chr(34) & uiSheet.Name & Chr(34) & ", Proceed?", vbOKCancel + vbQuestion, "Accept/Reject") = vbCancel Then
MsgBox "Cancelled"
Exit Sub
End If
uiSheet.Activate
我宁愿避免创建加载项,以便宏的未来用户(不一定是我)可以使用它并且超级简单,并且不必导入加载项。
或者,如果有人有更好的主意,我会全神贯注。对于不知道如何使用开发人员选项卡的人,您将如何创建需要在新演示文稿中运行的 powerpoint 宏?
【问题讨论】:
-
如果代码不需要经常更新,插件是最好的,因为你可以让你的自定义子被自定义 UI 调用,无论是在它自己的功能区/“主页”内。您可以有一个单独的 pptm 来首次安装和加载插件。
-
嗯,这可能是真的,我会考虑把它做成一个加载项,但我还是更喜欢用一个按钮保持简单,因为这是我所有的格式其他 excel 宏和使用这些宏的人并不总是最快的学习者
-
为避免使用加载项,您必须将代码放在单独的 PPTM 中并培训用户打开您的 PPTM,按 Alt+F8,选择“从所有打开的演示文稿”并然后双击您希望它们运行的宏。这可能会违反安全限制,阻止他们首先打开 PPTM 或在其中运行宏。加载项需要您多做一些工作才能安装到用户的计算机上,但会为他们提供一键式(通常在功能区上)完成工作的方式。
标签: vba powerpoint