LoginSignup
0
2

More than 3 years have passed since last update.

エクセルマクロ(Excel VBA)でExcelブックを開きアクティブにする

Last updated at Posted at 2019-04-16

Excelブックを開きアクティブにする

はじめに

マクロ処理にてファイルを開きアクティブにする処理が必要となったのですが、ファイルの有無や、既に開いてるか否かを判定するのが意外と面倒だったのでコピペすれば済むようにシェアします。

ソース

' エクセルブックを開きアクティブにする。既に開いている場合はアクティブにして終了
' 引数1:FilePath 開きたいエクセルファイルのパス
' 戻り値:ファイルが存在しない場合False、それ以外の場合はアクティブにしてTrueを返す
Function OpenOrActiveWorkBook(FilePath As String) As Boolean
    Dim str As String
    Dim wb As Workbook

    'ファイルの存在チェック
    str = Dir(FilePath)
    If str = "" Then
        ' ファイルが存在しない場合falseを返す
        OpenOrActiveWorkBook = False
        Exit Function
    End If

    '同名ブックがすでに開かれているかチェック
    For Each wb In Workbooks
        If wb.Name = str Then
            ' 既に開いている場合、アクティブにした上でtrueを返す
            OpenOrActiveWorkBook = True
            wb.Activate
            Exit Function
        End If
    Next wb

    'ファイルが存在し、まだ開かれていない場合は開き、trueを返す
    Workbooks.Open FilePath
    OpenOrActiveWorkBook = True
End Function

おわりに

今回は開いたブックを必ずアクティブにする必要があったため、このようなソースにしました。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2