项目VBA获取文件名



我正在尝试使用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:)

最新更新