CoCoのYDブログ

心に思い浮かんだことを少し掘り下げ発信します

【VBA】ファイルを開く

こんにちは

 

今日はファイルを開く方法を書いていきます。

ファイルを開くことができればそのファイルの情報を取得したり、編集することも可能になります。

ファイルを開くにはパス(ファイルが保存されている場所)とファイル名が必要になります。

 

下の図はファイルのプロパティです。

上の赤枠がファイル名、下の赤枠がファイルのパスです。

f:id:takataka2743:20180924220653p:plain

 

では以下のフォルダを作成して開けるかどうかを確認します。

f:id:takataka2743:20180924221132p:plain

 

サンプルプログラム

今回は上のフォルダのtest1.xlsxにマクロを作成してみましょう。

Sub test1()
    Dim FileName As String
    FileName = Dir(ThisWorkbook.Path & "\test2.xlsx")

    Workbooks.Open FileName:=ThisWorkbook.Path & "\" & FileName
    Workbooks(FileName).Close
End Sub

 1行目:プロシージャの開始

2行目:変数名FileNameの宣言、今回はStringで宣言します。

3行目:ファイル名の検索

4行目:なし

5行目:ファイルを開く

6行目:ファイルを閉じる

7行目:プロシージャの終了

 

解説

3行目のDirについて解説します。

Dirは指定したパスを見に行き、一致した名前のファイル名があればそのファイル名を変数に入力するといった関数です。

今回はThisWorkbook.Pathつまりこのファイルの保存場所を参照します。その中のtest2.xlsxというファイル名を変数FileNameに入力しています。

ちなみにThisWorkbook.Path以外の場所を設定する場合、”C:\Users\Desktop\VBA-Test”のようにダブルクォテーションで囲みましょう。

””で囲うことによりその内容は文字列であると伝えることができます。

 

次に5行目ですね。

Workbooks.Open FileName:=

ファイルを開く方法はほかにも色々とあるのですが自分はこのやり方を良く使います。

Wrokbooks.Open ファイル名 でもできるようです。


6行目
Workbooks(FileName).Close
これはそのままファイルを閉じるということです。

ちなみに保存しないで閉じる場合は

Workbooks(FileName).Close SaveChanges:=True
という形で記載します

 

今回はここまでです。