我正在尝试使用MS Project 2013打开一个文件选择框,选择一个。pptx文件,并打开它。
如果我在VBA中写下文件路径,我的代码打开pptx没有任何问题,并做它必须做的事情。
我的问题是,不知何故我不能使用msoFileDialogFilePicker对象。我把我的引用设置为使用MS Word Object Library, Visual basic for applications,甚至Excel Object,但是无论我选择什么引用,Application对象都不能识别它。
我也试过getOpenFilename方法,但是应用程序也不能识别它。
下面是我的代码:Dim strTemplatePPT As String
strTemplatePPT = Application.GetOpenFilename("Modelos de PowerPoint,*.pptx*", 1, "Abrir Arquivo", , False)
Set ppAppl = CreateObject("PowerPoint.Application")
ppAppl.Visible = True
Set ppPres = ppAppl.Presentations.Open(strTemplatePPT, msoFalse)
有人遇到过这个问题吗?
谢谢。
正如jsheeran所说,可以在ppapple对象内部使用FileDialog()
方法,如下所示:
Dim strTemplatePPT As String
Dim ptr_fileDialog As FileDialog
Set ppAppl = CreateObject("PowerPoint.Application")
Set ptr_fileDialog = ppAppl.FileDialog(msoFileDialogFilePicker)
ptr_fileDialog.Title = "Escolha o arquivo de Template"
ptr_fileDialog.Filters.Clear
ptr_fileDialog.Filters.Add "Arquivo Powerpoint", "*.pptx"
ptr_fileDialog.Show
strTemplatePPT = ptr_fileDialog.SelectedItems(1)
If (strTemplatePPT = "-1") Then Exit Sub
ppAppl.Visible = True
Set ppPres = ppAppl.Presentations.Open(strTemplatePPT, msoFalse)
即使Project本身没有打开fileDialog,我也可以使用powerpoint实例将结果发送回Project,因为我将在剩下的代码中使用powerpoint。
谢谢你的信息man:)