|
>Book2.xls!(マクロブックのことですね)の指定の仕方ですが、
>作業するブックと同時に開いているとOKですが、
>閉じた状態ではできないようなんですが、
>このとき、指定にフルパスが必要になるんであれば、
ブックが開いているので、Application.Run にフルパスは必要ないです。
>Application.Run以降のところで、ブックを変数に入れた形で指定とか
>はできるんでしょうか?
サンプルコードを掲載しておきますので、参考にして下さい。
(GetOpenFilenameにSendkeysを組み合わせて、ファイル名を指定してあります。)
Private Sub CommandButton1_Click()
Dim OpenFileName As String
Dim MacroFileName As String
MsgBox "マクロブック Book2.xls を開いて下さい。"
Application.ScreenUpdating = False
'選択したフルパスを取得して変数に格納
SendKeys "Book2*{ENTER}", False
OpenFileName = Application.GetOpenFilename("対象のExcelマクロブックを選択して下さい。,*.xls")
'ブックを開く
Workbooks.Open OpenFileName
'ファイル名を変数に格納
MacroFileName = ActiveWorkbook.Name
'別ブックのマクロ実行
Application.Run MacroFileName & "!Test1"
'別ブックを閉じる
Workbooks(MacroFileName).Close
Application.ScreenUpdating = True
End Sub
|
|