VBAで別のファイルを開く!「フルパス」の探し方と基本の命令

Level5 VBA・マクロ

「自分のファイルじゃなくて、あっちのファイルからデータを取ってきたい!」
そう思ったとき、まず最初に必要になるのが、そのファイルの「住所」をVBAに教えることです。

この住所のことを、専門用語で「フルパス」と呼びます。
住所が1文字でも間違っていると、「そんな場所ありません!」とエラーになります。

今回は、フルパスの調べ方・ファイルを操作する基本の命令をわかりやすく解説します!


ファイルの住所「フルパス」を1秒でコピーする

フルパスとは「ファイルの住所」のようなものです。
ドライブ名やフォルダ名まで分かります。

Windowsの機能を使えば、長ったらしい住所を自分で入力する必要はありません。
お使いのパソコンのバージョンに合わせて、次の操作をしてみてください。

Windows 11 の場合

  1. 対象のファイルを右クリックします。
  2. メニューにある「パスとしてコピー」をクリックします。

Windows 10 の場合

  1. Shiftキーを押しながら、ファイルを右クリックします。
  2. 隠れていたメニュー「パスのコピー」をクリックします。
たんたん
たんたん

フルパスを見つけるのは簡単!
「”」付きでコピーされるから貼り付けるだけでOK

このフルパスを活用していこう。


外部ファイルを開く「Open」

フルパスがわかったら、VBAに「このファイルを開いて!」と命令を出しましょう。
使う言葉(メソッド)は Open(オープン) です。

Sub ファイルを開く()
    ' Workbooks.Open の後ろに、コピーした住所を貼り付けるだけ!
    Workbooks.Open "C:\Users\User\Documents\元データ.xlsx"
End Sub
たんたん
たんたん

フルパスさえあれば
ブックを開くことができるんだ。

ただし!
ファイル名は当然だけど、保存フォルダが変わるだけで読み取れなくなるよ。

フルパスを使う弊害とも言えるね。


開いたファイルを「Set」で変数に入れよう

ファイルを開くとき、そのファイルを変数に「Set(セット)」しておくと、
あとの作業がめちゃくちゃ楽になります。

「ブックを変数に入れる」ときは、頭に Set をつけるのがルールです。
これをしておくと、長い名前を何度も書かずに「あだ名」で操作できるようになります。

Sub ファイルを変数に入れる()
    Dim wb As Workbook
    
    ' 開くと同時に、wb という変数に「Set(セット)」する
    Set wb = Workbooks.Open("C:\Users\User\Documents\データ.xlsx")
    
    ' 変数を使えば、名前を何度も書かなくて済む!
    MsgBox wb.Name & " を開いたよ!"
    
    ' 閉じるときも変数名だけでOK
    wb.Close SaveChanges:=False
End Sub
たんたん
たんたん

ワークシートやブックを変数に入れる時だけSetを使うよ!

ブックを開くってことは、後で閉じるだろうから
変数に入れとくと楽なんだ。

ただし!
ファイル名は当然だけど、保存フォルダが変わるだけで読み取れなくなるよ。

フルパスを使う弊害とも言えるね。


開いたファイルを閉じる「Close」

使い終わったファイルは Close(クローズ) で閉じましょう。

Sub ファイルを閉じる()
    ' ファイルの名前を指定して「閉じなさい」という命令
    Workbooks("元データ.xlsx").Close
End Sub

「保存しますか?」の確認に邪魔されたくない!

「変更を保存しますか?」という確認画面でマクロが止まるのは煩わしいですよね。

保存確認によるマクロ停止を防ぐなら、Closeの後ろに一言付け加えます。

SaveChanges:=

  • 保存せずに閉じる: False(いいえ)
  • 上書き保存して閉じる: True(はい)
' 変更を無視して、黙って閉じる場合
Workbooks("元データ.xlsx").Close SaveChanges:=False
たんたん
たんたん

閉じるたびに保存するか聞かれるのは面倒!

マクロによっては何個もブックを閉じる可能性があるから
絶対に保存の設定はしようね。

ただし!
ファイル名は当然だけど、保存フォルダが変わるだけで読み取れなくなるよ。

フルパスを使う弊害とも言えるね。


今回のクエストを終えて

  • フルパス = ファイルの「住所」。右クリック(10はShift+右クリック)でコピー!
  • Workbooks.Open = 指定したファイルを開く
  • Set 変数 = = ファイルに「あだ名」をつけて扱いやすくする
  • Workbooks().Close = 指定したファイルを閉じる
  • 保存の指示

「住所を調べて、開いて、あだ名(変数)をつけて、(保存をして)閉じる」。
この一連の流れをマスターすれば、ファイル操作の基本は完璧です!

コメント

タイトルとURLをコピーしました