VBAで
・ファイルを読み込む方法は4種類
あります!
※正確には5種類あります。
※ただ1つは使用するメリットが無いと思います。
この記事では
・どういう時に
・どの方法を使用すべきか
を記載します!
ファイルをまるっと読み込みたい時
ファイルの内容をまるっとシートへ読み込みたい時は、一番シンプルな方法である
・「QueryTablesオブジェクト」の「Add」メソッド
を使用します。
詳細は以下の記事をご確認ください。
指定した列のみ読み込みたい時
ファイルの指定した列のみをシートへ読み込みたい時は、指定した列のみを読み込み可能である
・「Workbooksオブジェクト」の「OpenText」メソッド
を使用します。
詳細は以下の記事をご確認ください。
指定した行のみ読み込みたい時
ファイルの指定した行のみをシートへ読み込みたい時は
・Openステートメント
・「ADODB.Streamオブジェクト」の「ReadText」メソッド
のどちらかを使用します。
どちらを使用するかは「ファイルの文字コード」で決めます。
※文字コードが「Shift_JIS」か「UTF-8」かによります。
ファイルの内容を1行毎に確認して、読み込みたい行のみをシートへ読み込みます。
詳細は以下の記事をご確認ください。
まとめ
上記を表にまとめます。
No. | どういう時に | 読み込み方法 | 備考 |
---|---|---|---|
1 | まるっと読み込みたい | 「QueryTablesオブジェクト」の 「Add」メソッド | 一番シンプル。 |
2 | 指定した列のみ読み込みたい | 「Workbooksオブジェクト」の 「OpenText」メソッド | 読み込む列の指定が可能。 ※列を指定して読み込める唯一の方法。 ※列を指定して読み込めるのはtxtファイルのみ。 |
3 | 指定した行のみ読み込みたい | Openステートメント | 文字コードが「Shift_JIS」の場合。 シンプル。 ※UTF-8で読み込むことはできない。 |
4 | 指定した行のみ読み込みたい | 「ADODB.Streamオブジェクト」の 「ReadText」メソッド | 文字コードが「UTF-8」の場合。 |