Vba 用户输入以选择powerpoint演示文稿

Vba 用户输入以选择powerpoint演示文稿,vba,powerpoint,Vba,Powerpoint,我创建了一个宏,它可以帮助您处理需要经常更新的powerpoint演示文稿 我不想每次都进入visual basic编辑器并导入宏,而是想在单独的演示文稿中创建一个按钮,提示用户单击宏需要处理的演示文稿。类似于只有一个按钮的excel文档可以处理工作簿 下面是我的一个代码,它在excel中执行类似的操作,让用户单击工作表并在工作表上激活和运行宏 Dim uiSheet As Worksheet On Error Resume Next Set uiSheet = Application

我创建了一个宏,它可以帮助您处理需要经常更新的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宏,该宏需要由不知道如何使用“开发人员”选项卡的人员在新演示文稿中运行?

在PPTM文件的幻灯片中插入一个操作按钮,供所有用户使用。 单击时将其指定为运行宏。您只能在幻灯片放映视图中执行此部分

在“插入”选项卡上,单击“形状”,然后在底部的“操作按钮”下,单击要添加的按钮形状。 单击幻灯片上的某个位置,然后拖动以绘制按钮的形状。 在“动作设置”对话框的“鼠标单击”选项卡中。选择“运行宏”

下面是一些使用Windows资源管理器让他们选择演示文稿,然后打开它的代码:

  With Application.FileDialog(msoFileDialogFilePicker)
       .AllowMultiSelect = False  'only allows the user to select one file
        ' Set the title of the dialog box.
      .Title = "Select the File."  'Put any text to help the user choose the correct file
        'clear filters then add pptx filter
      .Filters.Clear
      .Filters.Add "PowerPoint files", "*.pptx"   ' This can be any file extension to filter the choices 
        ' Show the dialog box. If the .Show method returns True, the
        ' user picked at least one file. If the .Show method returns
        ' False, the user clicked Cancel.
      If .Show = True Then
        fxname = .SelectedItems(1) 
      End If
   End With
 Set opres = Presentations.Open(fxname, False, False, True) 'opres is the variable for the choosen file
 opres.Windows(1).Activate  'Activates that presentation.
然后添加更新宏的其余部分


是的,用户将必须打开宏文件,但他们可以运行宏以非常轻松地更新所选演示文稿。

如果代码不需要频繁更新,外接程序是最好的,因为您可以让自定义UI调用自定义子组件,无论是在自己的功能区中还是在主页内。你可以用一个单独的pptm来安装和加载加载外接程序。嗯,这可能是真的,我会考虑将它制作成一个外接程序,但我还是喜欢用一个按钮来保持它的简单性,因为这是我制作的所有其他excel宏的格式,使用这些宏的人并不总是最快的学习者来避免使用外接程序,您必须将代码放在单独的PPTM中,训练用户打开PPTM,按Alt+F8,从所有打开的演示文稿中进行选择,然后双击希望他们运行的宏。这可能与安全限制相冲突,这些安全限制首先阻止他们打开PPTM或在其中运行宏。外接程序在用户的计算机上安装需要您做更多的工作,但通常会在功能区上给他们一个按钮来完成工作。哦,这是一些优秀的代码。我想的更多的是点击一个已经打开的powerpoint,然后在演示文稿中添加操作按钮和宏代码。演示文稿必须是pptm文件。或者你可以用按钮打开演示文稿并运行宏。不幸的是,这不是一个选项,否则我肯定会这样做。我想要一个单独的宏演示的原因是,原来的将是一个宏免费ppt