【ExcelVBA入門】開いて閉じる、ただそれだけの話1/2【第6回】

今回からExcelVBAで出来るすごいことの一つ、「他のエクセルファイルを開いて中身を参照する」をやるよ!
よみぞう
す、すげぇ!そ、そんなこと出来るの?
えな
いちばん最初にやっただろ!(ポカッ)
よみぞう
いてー
えな
これができると、色々応用が利くからはりきってやっていこう!
よみぞう
おー!
えな
動画はこちらからどうぞ
- 他のブックを開いて閉じる
- ファイル名を調べるDir関数
- パスの説明(しょうがねぇから)
- 今度こそDir関数の詳細
他のブックを開いて閉じる
まずは実行してみよう!
はい、まずはこのプロシージャ「OpneClose1」を一緒に見ていこう!これは、名前どおり、
他のエクセルファイルを開いて閉じる。ただそれだけのプログラムです。どのエクセルファイルを開くかというと
この「元データ」フォルダの中にある、(※VBAを記述しているファイルはmacro.xlsmです)
「data.xlsx」このファイルを開いて閉じます。一応中を確認してみましょう!
こんな表が確認できますね?これは一旦閉じます。
はい、では、先に実行してみます。(F5を押して実行)
分かりましたか?一瞬、さっきのファイルが開いて表にでてきました。
data.xlsxを一瞬で開いて閉じたんだね!
えな
ファイル名を調べるDir関数
はい!では1行ずつ見ていきましょう。
まず、「変数の宣言」にbooknameという変数が宣言されています。これは、As Stringなので、文字列が入る変数です。ここまではいいですね?
次の行は変数booknameに何かを代入しています。何をか?Dirなんとかって書いてますね?なんて読むのかは分からないんですが、これはDir関数といって()の中に(パス名)を入力するとその場所にあるファイル名を調べてくれます。
よみぞー!
えな
何?
よみぞう
パスって何?
えな
え~?これも説明しないとだめ?
よみぞう
説明してよ!
えな
はぁ、しょうがねぇなぁ!
よみぞう
パスの説明(しょうがねぇから)
パスというのはファイルの場所のこと。東京都板橋区みたいな感じです。
今回のdata.xlsxのパスはファイルを右クリックしてプロパティを押すと表示されます。
ここの部分が場所。場所ってもうごりごりに書いてますね。(笑)\マークは 「~の中の」という意味。なので、Cドライブ の中の マイドキュメント の中の …の中みたいな感じですね。パスの説明は以上です。分かったかな?
分かった!
えな
今度こそDir関数の詳細
よし、では話をDir関数に戻します。Dirのあとの()の中にはパス名が入ると言いました。
Thisworkbookは「このエクセルファイル」という意味なので、
ThisWorkbook.Pathまでで、「このエクセルファイルのパス」と読みます。さらに続きが&以降に書いてあります。 \ は「\」記号と一緒です。なので、さっき説明したとおり意味は「の中の」という意味。で、ここまでの意味を確認すると
「このエクセルファイルのパスの中の元データの中の」となります。
そして最後の「*(アスタリスク)」ここが大事です。先ほど、Dir関数はファイルの名前を調べてくれると言いました。つまりパス名にファイル名を含めなくてもいいんです。
まぁ当たり前だね。ファイル名を調べているんだから
よみぞう
そのかわり、この*(アスタリスク)をここに置いてあげるんです。「このエクセルファイルのパスの中の元データの中の「何か」」と訳すと分かりやすいかもしれません。そしてDir関数がその「何か」の名前を調べた結果「data.xlsx」という名前が変数booknameに代入されるわけです。
「何か」はdata.xlsxだったんだよね?なんとなく分かった!
えな
続きは次回だよ!よみぞう