一昨日までは、何もする気力が湧かなかったのですが、昨日辺りから調子が戻ってきました。先週、まだ途中でしたので、VBAの続きの話をします。通常ExcelのVBAは、複数のファイルを開けた状態で作業を実施します。今回は、ファイル処理に関する話です。
資料はこちら → Excel VBA 自動化その5
p.1 フォルダ内にあるファイルを開くコードです。ファイルがない場合は、メッセージボックスに「対象ファイルが存在しません。」と表示されます。「Dir(調べるファイル) 」とするとファイルの存在を確認します。「On Error GoTo 」を用いると、エラー時の処理の行に跳びます。
p.2 ダイアログボックスを使ってブックを開く場合は、「GetOpenFilename」を用います。指定したファイルを開けることができます。キャンセルする場合は、「On Error GoTo 」を用いて、メッセージボックスに表示できます。
p.3 ファイルが開かれているかのチェックもできます。
p.4 ファイルを保存する場合の拡張子を表にまとめました。 マクロの場合の定数は、「xlOpenXMLWorkbookMacroEnabled」のようにやたら長いですね。
VBAの場合は、データの書き込みをファイルが開いた状態で行う必要があります。pythonの場合は、ファイルが閉じていても処理可能な利点があります。