以下のコードで、コンパイルエラー function または変数が必要です。とでます。 つい先ほどまでいけたのに、なぜなんでしょうか?
参照設定では、OfficeのObjectにはチェックが入ってます。
Dim TargetBook As Workbook
Set TargetBook = Workbooks.Open(FolderPath + "\" + File_list.Name)
よろしくお願いします。
Workbook と Workbooks は関係ないよね?
編集 削除ええ、関係ないようです。
編集 削除…"Workbooks"の型がわからないなぁ…
コチラで Microsoft Office 10.0 Object Library を参照設定して、
オブジェクトブラウザで"Workbooks"を検索してみたけど、該当するのがありませんでした。
(もしかして、VBAをそのまま移植した…?)
…ぁー、参照設定ってもしかして
"Microsoft Office 10.0 Object Library"じゃなくて、
"Microsoft Excel 8.0 Object Library"の方かな…
後者ならちゃんとWorkbooksクラスがあるみたい。
…それだけです(orz
”ガッ” さんフォローありがとうございます。
Microsoft Excel も Ofiice も Object Libraryは参照されてます。
でも、動かないんですよね・・・・・。
なんで?? ご指摘通り、VBAでも動くはずなので、VBAに持って行きましたが、VBAでも同じエラーが出ます。
”コンパイルエラー:Functionまたは変数が必要です”といわれて怒られます。
VBAでは、以下のようにしてます。
Sub GET_List_ofFile(FolderPath)
Dim File_Collection As Object
Dim File_list As Variant
Dim cnt As Integer
Dim ReturnBook As Workbook
Dim TargetBook As Workbook
Set File_Collection = CreateObject("Scripting.FileSystemObject") _
.GetFolder(FolderPath).Files
cnt = 1
For Each File_list In File_Collection
If (File_list.Name = ThisWorkbook.Name) Then
Else:
Set ReturnBook = ActiveWorkbook
Set TargetBook = Workbooks.Open(FolderPath + "\" + File_list.Name)
↑
ここでエラー・・・・・。
以下省略
環境が書いてないけど、これって VB.NET? VB6? Excel VBA?
それぞれ、適切な書き方がまるっきり異なるから、きちんと明記しないと。
> Workbooks.Open(FolderPath + "\" + File_list.Name)
単に Workbooks と書くのではなく、どのApplicationオブジェクトの Workbooks プロパティを参照しているのかを記すようにすべきかな。そうしないと、Excel のゾンビ ( 非表示状態の Excel) が発生しやすくなるし、もし発生した場合に、2 回目以降の処理が、正常に動作しなくなったりするから。
> ここでエラー・・・・・。
Windows を再起動しても駄目?
どうしても駄目なら、エラーになる最小限のコードを、一切省略せずに掲示板に貼り付ければ、他の人の環境でも試してもらえるんじゃないかな。
皆様、ありがとうございました。Applicationオブジェクトを指定すれば、動きました。
編集 削除