「自分のファイルじゃなくて、あっちのファイルからデータを取ってきたい!」
そう思ったとき、まず最初に必要になるのが、そのファイルの「住所」をVBAに教えることです。
この住所のことを、専門用語で「フルパス」と呼びます。
住所が1文字でも間違っていると、「そんな場所ありません!」とエラーになります。
今回は、フルパスの調べ方・ファイルを操作する基本の命令をわかりやすく解説します!

ファイルの住所「フルパス」を1秒でコピーする
フルパスとは「ファイルの住所」のようなものです。
ドライブ名やフォルダ名まで分かります。
Windowsの機能を使えば、長ったらしい住所を自分で入力する必要はありません。
お使いのパソコンのバージョンに合わせて、次の操作をしてみてください。
Windows 11 の場合
- 対象のファイルを右クリックします。
- メニューにある「パスとしてコピー」をクリックします。
Windows 10 の場合
- Shiftキーを押しながら、ファイルを右クリックします。
- 隠れていたメニュー「パスのコピー」をクリックします。

フルパスを見つけるのは簡単!
「”」付きでコピーされるから貼り付けるだけで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= 指定したファイルを閉じる- 保存の指示
「住所を調べて、開いて、あだ名(変数)をつけて、(保存をして)閉じる」。
この一連の流れをマスターすれば、ファイル操作の基本は完璧です!




コメント