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
是一个数组/变体,而不是一个对象。 结合这两个方法(你靠近!),因为.Path
是Workbook
对象的成员,请改为:
修订
... = timeXLS.Workbooks(vFiles(iFile)).FullName