438对象不支持此属性或方法MS Project和Excelmacros

我有一个VBA中的下面的代码,我正在写一个Excel电子表格的MS项目。 我已经参考了Project,Excel和Officein的v15 Runtime图书馆。

当我运行它由于错误编译失败438对象不支持此属性或方法在行上

strFileToOpen = Application.GetOpenFilename _

….等等。

任何人可以build议在哪里看,因为这似乎是正确的语法给我。

Dim strFileToOpen As Variant strFileToOpen = Application.GetOpenFilename _ (Title:="Please choose a file to open", FileFilter:="Excel Files *.xls* (*.xls*),") Workbooks.Open FileName:=strFileToOpen '# Open Workbook MsgBox strFileToOpen 

Project和Excel都有一个Application对象,可以直接通过名称“Application”来引用。 由于macros在Project中运行,对Application的非限定引用将引用Project自己的Application对象 。

GetOpenFilename方法是Excel应用程序对象的一部分,而不是Project应用程序对象。 要调用此方法,您需要通过引用Excel应用程序对象来限定调用,如下所示:

 Dim xl As Excel.Application Set xl = New Excel.Application xl.Visible = True Dim strFileToOpen As Variant strFileToOpen = xl.GetOpenFilename _ (Title:="Please choose a file to open", FileFilter:="Excel Files *.xls* (*.xls*),") xl.Workbooks.Open FileName:=strFileToOpen '# Open Workbook MsgBox strFileToOpen