Sample Site

ファイルの読み込み

元々、ファイルの読み込みはVBAアプリの基本中の基本で、多くのVBAアプリでその機能が備わっています。
基本的な処理の流れとしては、読み込むファイルを指定するためのダイアログを出して、ファイルを選択したのちその後の処理に繋がっていきます。 (場合によりダイアログなしで直接決め打ちで読み込む場合もあります)



ファイルの読み込み等の操作に、用いるのが
GetOpenFilenameメソッドで記述は以下のとおり
Application.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)
詳細は
https://docs.microsoft.com/ja-jp/office/vba/api/excel.application.getopenfilename

ファイルを読み込むためのダイアログ

とりあえず、ダイアログを出してなにか処理したいファイルを指定するまでの超基本的な部分を示します。 取り扱いたいファイルには色々な種類のものがありますが、下記のコードの中で("全てのファイル,*.*")の部分を
("全てのファイル,*.*"):全てのファイル
("Excel,*.xlsx"):Excelファイル
("CSVファイル,*.csv"):全てのファイル
等々に変えることにより、取り扱うファイルの種類を限定することが出来ます。
以下、そのコードになります。

ファイルを読み込むダイアログ(ダウンロード)

ファイルを読み込んで所定のシートに貼り付ける操作
ファイルを読み込む------->RDATAシートに貼り付ける

もう少しすすめて、このサンプルではファイルを読み込んでから、特定のシート「RDATA」に貼り付けるまでをしています。 処理の流れとしては、
1)取り込む対象ファイルのパス、ファイル名を取得します。
2)その情報から取り込むファイルを開いてその内容をクリップボードにコピーします。
3)貼り付け側のシートにその内容を貼り付けます。
4)クリップボードの内容をクリアします。元のファイルを閉じます。
一旦、シートに取り込めば、データのチェック・・・とか、フォーマットの変換・・・とかあとは本来の目的である様々な処理に進む事になります。
以下、そのコードになります。

ファイルを開いて貼り付ける処理(ダウンロード)

一度に複数のファイル情報を読み込み、そのパスとファイル情報を取得する
複数ファイルを読み込む------->各ファイルの情報を表示

この処理は、複数のファイルの情報を一括で取得します。 複数のファイルを連続的に一定の処理をする場合の、前段階の処理です。
GetOpenFilenameメソッドのMultiSelectのパラメーターをMultiSelect:=True とすることで複数ファイルの読み込みが出来るようになります。
Application.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)

以下、そのコードになります。

複数ファイル情報を一括取得する1(ダウンロード)

この場合、ファイルの情報をFileLen、FileDateTime関数で取得していますが、2G以上のファイルサイズは正確に取得出来ないので FileSystemObjectを利用します。
その利用方法はVBE(vbaの開発環境の事です)の開発画面で
「ツール」-->「参照設定」で参照設定のダイアログがでるので、その中の「Microsoft Scripting Runtime」にチェックを入れて「OK」ボタンを押す。これで準備が出来ました。
(定番の記述例)
Dim mFile As Variant----------------->ダイアログ情報の収容変数の定義
Dim fso As FileSystemObject-------->ファイルシステムオブジェクト変数の定義
Dim f As File ------------------------->ファイルオブジェクト変数の定義
Set fso = New FileSystemObject
(FileSystemObjectオブジェクトクラスを実際に利用出来るようにします:インスタンス化)
Set f = fso.GetFile(mFile(i)) --------->ファイル情報収容
実際のファイル情報=f.各種プロパティ

以下、そのコードになります。

複数ファイル情報を一括取得する2(ダウンロード)

ファイルの読み込み等の操作まとめのTIPSファイル
以上のTIPSをまとめたファイルです。お時間の無い方におまとめ編です。 この場合あらかじめのファイルパスの設定等の機能もありますので個々のパソコンの環境に合わせて 設定を変えてください。
このExcelファイルの中にも、個々の説明があります。参考にしてください。


Sample Site