理系男子のIoTライフ

理系男子があなたの生活を少し「ラク」にする情報をお届けします。

スポンサーリンク

【VBA】VBAでExcelファイル(ブック)を開く方法

VBAを使えば、Excelファイル(ブック)を自動で開いてデータを読み込むこともできます。
今回はVBAでブックを開く方法をご紹介いたします。
f:id:rikei_iot:20180116170740j:plain



ブックを開く方法

WorkbookオブジェクトのOpenメソッドを使うことで、指定したファイル名のブックを開くことができます。
次のコードは、 "SampleFile.xlsx" を開きます。

Sub Sample()
    Workbooks.Open "C:\SampleFile.xlsx" 'ブックを開く
End Sub

ファイル名は拡張子まで含めた絶対パスで指定します。

ファイルチェックをしてブックを開く

ブックを開く際、対象となるファイルが存在しなかったり、既にブックを開いている場合はエラーとなります。

そこでファイルの存在チェックと、ブックが既に開いていないかの確認をして、ブックを開く必要があります。
以下は関数化してあるので、Call openFile("ファイルパス") でブックを開くことができます。

' ----- メイン関数 -----
Sub Main()
    Call openFile("C:\SampleFile.xlsx"")
End Sub

' ----- ファイルを開く関数 -----
Function openFile(Target As String) 'ファイルパスを引数
    Dim buf As String
    Dim wb As Workbook
    
    '----- ファイルの存在チェック
    buf = Dir(Target)
    If buf = "" Then
        MsgBox Target & vbCrLf & "は存在しません", vbExclamation 'メッセージボックスで通知
        Exit Function '存在しない場合は関数終了
    End If
    
    '----- 同名ブックのチェック
    For Each wb In Workbooks '開いている全Workbookを確認するループ
        If wb.name = buf Then
            MsgBox buf & vbCrLf & "はすでに開いています", vbExclamation 'メッセージボックスで通知
            Exit Function '既に開いている場合は関数終了
        End If
    Next wb
    
    '----- ブックを開く
    Workbooks.Open Target
End Function

まとめ

VBAで開いているブックを開く方法をご紹介しました。
VBAで作業の効率化を進めましょう。

押していただけるとブログ執筆の励みになりますので、ぜひお願い致します。