1

MrExcel.com に相互投稿

アクティブな .xls オブジェクトのパスを呼び出す方法または可能かどうかについて何か考えはありますか?

このコードは、Excel オブジェクト timeXLS を開いて設定します。これは、PC でいくつかの Excel ワークブックを循環するために使用している for ループです。

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 プログラム C:\Program Files (x86)\Microsoft Office\Office14\Microsoft Excel のパスを呼び出します

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

この構文により、デバッグ エラー 424 ("Object Required" ) が生成されました。

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

この問題に関するすべてのアドバイスや支援をいただければ幸いです。お時間を割いていただき、ありがとうございました。

4

1 に答える 1

0

のプロパティは、あなたが望むものではありませんApplication.Path

timeXLSのインスタンスとして宣言しましたExcel.Application

vFiles(iFile).Path

vFilesオブジェクトではなく、配列/バリアントです。.Pathはオブジェクトのメンバーであるため、2 つのメソッドを組み合わせます (近いです!)。Workbook代わりに、次の方法を試してください。

改訂

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

于 2013-10-05T15:10:57.670 に答える