Excel – VBA – 调用excel对象或当前excel.Appliation的path

在MrExcel.com上交叉发布

任何想法如何或如果有可能调用一个活动的.xls对象的path?

此代码打开并设置Excel对象timeXLS这是一个for循环,我正在使用循环通过我的电脑上的一些Excel工作簿

Code: vFiles = Application.GetOpenFilename("Excel files (*.xls*),*.xls*", Title:="Please select ", MultiSelect:=True) If TypeName(vFiles) = "Boolean" Then Exit Sub ' Cancelled Set timeXLS = CreateObject("Excel.Application") timeXLS.Visible = True Set R = Worksheets.Add.Range("A1") For iFile = LBound(vFiles) To UBound(vFiles) timeXLS.Workbooks.Open vFiles(iFile) next 

我试过的这种语法调用通用Excel程序的pathC:\ Program Files(x86)\ Microsoft Office \ Office14 \ Microsoft Excel

 Code: ThisWorkbook.Sheets("Report").Range("I" & CurrentRow).Value = timeXLS.Path & "\" & timeXLS.Name 

此语法生成debugging错误424(“所需的对象”)

 Code: ThisWorkbook.Sheets("Report").Range("I" & CurrentRow).Value = vFiles(iFile).Path & "\" & vFiles(iFile).Name 

任何和所有关于这个问题的意见或协助是非常感激,并感谢你所有的时间。

Application.Path属性不是你想要的。

YOu已经将timeXLS声明为Excel.Application一个实例。

vFiles(iFile).Path

vFiles是一个数组/变体,而不是一个对象。 结合这两个方法(你靠近!),因为.PathWorkbook对象的成员,请改为:

修订

... = timeXLS.Workbooks(vFiles(iFile)).FullName