|
こんにちは。
非常に直しがいがあるコードなのは確かですが、
ほとんどの方にとってはちょっと見難いコードになっているのではないでしょうか。
まずはコードモジュールの先頭に
Option Explicit
をいれて、変数に対して明示的な宣言を強制し、
コンパイルエラーのチェックを行ったほうが良いかもしれません。
エラーについては解決のようですね。
Workbooks.Openメソッドではフルパスが必要ですが、(必要ない場合もありますが)
開いた後のWorkbooksのインデックスの指定には、ファイル名のみを使います。
Dim bookname As String
...と変数を1個追加し、
Workbooks.Open Filename:=filePath
bookname = ActiveWorkbook.Name
:
:
MsgBox (filePath)
MsgBox (bookname)
Workbooks(bookname).Activate
'Workbooks(filePath).Activate
...としてみてください。
ただ、文字列指定ではなくて、Object型の変数を用意すれば、
名前によるインデックス指定使わなくても良いです。
Dim wb As Workbook
:
Set wb = Workbooks.Open(Filename:=filePath)
:
wb.Activate
:
:
Set wb = Nothing
End Sub
|
|