EXCELでファイルを開く場合は
通常 ファイルが保存されている場所を
開いて選択したいファイルを
ダブルクリックします
自動マクロを見ると
Workbooks.Openメソッドで
ファイル名をフルパスで指定する
これだけです
これはこれで大変便利なのですが
指定したファイルが存在することが
前提条件となっています
つまり
ファイルが存在しないと
エラーになるということです
プログラムが止まってしまうのは
避けたいですね
また
汎用性を高めて開くファイルを
選択したいケースもでてきます
このマクロで
ファイル名を“*.xlsx”と書き換えたら
うまく動くでしょうか?
結果は
不正解でした
Workbooks.Openメソッドは
存在するファイル名を指定しないと
エラーとなることが確認できました
それでは
下図のようなファイルの開き方は
どうすればいいのでしょうか?
検索すると
Application.GetOpenFilename メソッドが見つかりました
このメソッドは
名前の通り開くファイル名を取得するもので
じっさいにはファイルを開きません
リファレンスを要約すると
この機能はとても便利なので
しっかりと理解して使いこなして下さい
まずは必須指定を確認すると
すべての項目で省略可となっています
つまり
Application.GetOpenFilename
と引数なしで使えるということです
test01マクロを実行すると
前回のファイルを開く画面とは
内容が違います
これはカレントドライブ、
カレントフォルダーを
指定しない場合は
現在選択されているものを
参照して開くからです
ドキュメントを開きたいのであれば
僕の場合は「D:」ドライブに
ドキュメントを置いていますので
ChDriveとは
ドライブを変更する命令です
ChDirとは
ディレクトリを変更する命令です
この青枠内の書き方を覚えて下さいね
一度この形式で「ファイルを開く」を
表示させればあとは
いつもと同じように
別のディレクトリやドライブに
移動してファイルを開くことも
可能になります
ところで
ファイルを開く画面の左上
黄枠には
EXCELのロゴマーク付きで
「ファイルを開く」と書いてあります
そして
右下の青枠には
「すべてのファイル(*.*)」
と書いてあります
EXCELファイルが
開けるのは当然として
EXCEL以外のファイルも
開けそうな感じがするので
確かめてみると
結果は不可能でした
当然の結果とはいえ
青枠にはEXCELファイルを
指定して
EXCELファイル以外を
表示しない設定にすることが
ミス防止につながります
このファイル形式の指定が
パラメーターのFileFillterです
詳細については次回とします
http://okheeoffice.com/study-vba/0049
Microsoft Office ブログランキングへ