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

今回は前回の続きだよ!
よみぞう
動画はこちらから
前回のおさらい
前回は2行目の
ここまで、解説しました。
名前がわからないエクセルファイルの名前を調べて変数booknameに代入する
という意味でしたね。
他のExcelファイルを操りし者 Workbooks.Open Filename:=パス名
はい、では次の行。コメントに書いているとおり、「元データ」フォルダに入っているファイル。つまり、data.xlsxを開くコードです。
公式に当てはめると
このエクセルファイルのパスの中の元データの中のbooknameつまりdata.xlsxを開け
という命令になります。前回からここまでの説明を整理すると、
- Dir関数でファイル名を調べる。
- Workbooks.Openでファイル名を含むパスを指定してファイルを開く
という二つの処理を行ったわけだね。ここまでまず確認しよう。
.Closeで開いたファイルを閉じる
では、最後の行は開いたファイルを閉じる処理です。
Activeworkbookは今アクティブになっているファイルのこと。ウィンドウを複数開いたときに一番前に来るものですね。通常は最後に開いたファイルになるので、今回はdata.xlsxのことを指しています。んで続き「.Close」はそのまま「閉じる」という意味。つまり、「アクティブなエクセルファイルを閉じる」という意味になります。で、この後ろに書いているのは「保存するかしないか」という指定です。ここまで整理すると
- ActiveWorkbook ⇒ アクティブなエクセルファイル
- .Close ⇒ ~を閉じる
- savechange:=True(False) ⇒ 保存するかしないか。Trueは保存する。Falseは保存しない
………
えな
ん?どうしたの?
よみぞう
うーん…
えな
「難しい 」の顔かな?
よみぞう
そうそう!
えな
「色々あって覚えられないなぁ」の顔かな?
よみぞう
そうそう!
えな
自分でしゃべれ!そのくらい!
よみぞう
あちゃー
えな
大丈夫!こういうときは入力補助機能が付いているから、なんとなく覚えておけば、入力できるよ!
よみぞう
そうなんだ。やった~!
えな
よろこびすぎだよ!実際やってからにして!
よみぞう
Ctrl + Space 入力補助のショートカット
はい、例えばこの行「Workbooks.Open filename~」を入力補助を使って入力していきます。
まずCtrl + Space を押します。
入力候補が出てくるので、「wo」と入力してみよう。すると、
「workbooks」が出てきました。これだ!と思ったら、「Tab」を押す。ここ、「Enter」じゃないので注意して下さい。
続いて[ . ]を入力すると再び候補が。「o」を押すと「Open 」が出てきますので、これだ!と思ったら?……
ん?
えな
Tabでしょ!さっき言った!
よみぞう
あ、そっか!
えな
Tab押すと、入力できます。
続いてどのファイルを開くのかファイル名をスペースの後に入力します。「Space」を入力すると。
はい、今度は「workbooks.oenの後にはこんなのを入力して下さいね」というリストが出てきます。この中で、Filenameを入力したいんですよね?これ以降は、実際に入力するしかなくて、ただのヒント的な機能です。でもこれだけでもだいぶ助かりますよね。
う、うん
えな
たしかに、少しは覚えないと入力できないけど、選択肢の中から選べる程度の記憶でいいってことだから、少しがんばろ!ね?
よみぞう
分かった!
えな
まとめ
変数(文字列) = Dir(パス)で特定のフォルダに入っているファイル名を調べて、変数(文字列)に代入できる。- パスとはファイルの場所のこと。パス名でよく出てくる\(\)は「~の中の」という意味。
- 入力候補の表示は Ctrl + Space 候補の選択はTabキーで
- ファイルを開く公式は
Workbooks.Open Filename:= パス - アクティブファイルを閉じる処理は
ActiveWorkbook.Close - 保存する(しない)時はsavechange:=True(False)をCloseの後に書こう!
今回はここまで。これを知っていると
- データの保存ファイル
- 入力ファイル
- 閲覧ファイル
を分けることができるんだ。データをいじらせたくない民には、閲覧ファイルのみ使ってもらうとかができるようになるね(*‘∀‘)
他にも色々応用が利くから超重要なスキルだよ!
よみぞう