まりふのひと

開いているブック名を取得する

住所録マクロの改修過程で必要になった機能。今回の改修では、先に「住所録マクロ」を開く。そこで、住所録マクロを開く「先に自分の住所録を開いていた」ことを考慮する必要があり、試行錯誤していた。

Sub Auto_Open()
Dim macroBookName As String, openBookName As String
    macroBookName = ThisWorkbook.Name
    For Each VARAns In Workbooks
        openBookName = VARAns.Name
        If openBookName <> macroBookName Then
            MsgBox Workbooks(openBookName).FullName
        End If
    Next
    frm住所録マクロ.Show
End Sub
【ポイント】
  1. VARAns はバリアント型の変数。
  2. For Each 〜 Next で、Workbooks コレクションを取得する。
  3. 開いているブックが新規文書,例えば Book1 の場合、FullName は Name と同じになる。