ADODB.Streamオブジェクトを使うと、文字コードUTF-8のテキストファイルも処理できます。
ADODB.Streamオブジェクト関係記事は、
⇒ こちら(1本目)
⇒ こちらも(2本目)
⇒ さらに、こちらも(3本目)
上記の記事中には、サンプルコードを掲載しているので、いざコードを書こうとするときには、これを開いて参考にする予定です。
とても、コードの細部までは覚えておくことはできませんから。
![](https://blogimg.goo.ne.jp/user_image/2a/16/ab2127ab651726424c2607a80c7e13c7.jpg)
細かいことは、その都度、上記サンプルコードを参考にします。それでも、大枠は理解して押さえておくべきでしょう。
大枠とは、
【1】テキストインプットには、ReadTextを使用
【2】テキストアウトプットには、WriteTextを使用
ということです。
【1】インプット
テキストファイルのインプットには、ADODB.StreamのReadTextメソッドを使います。
なお、ReadTextメソッド実行前には、LoadFromFile メソッドを実行して、テキストファイルの内容をStreamに読み込んでおきます。
【解説1】LoadFromFile メソッド
既存のテキストファイルの内容を Stream に読み込みます。
構文: myStream.LoadFromFile FileName
パラメーター:FileName
Stream に読み込むファイルの名前を含む文字列型 (String) の値を指定します。指定したファイルが存在しない場合は、実行時エラーが発生します。
【解説2】ReadTextメソッド
テキストファイルの内容を取得するメソッドです。
引数を指定しない場合には、末尾まで一気に読み込みます。
引数に「-2(定数adReadLine)」を指定すると、1行分だけ読み込みます。
取得した内容をいったん変数に格納し、その変数の値をExcelのセルやWord本文に展開するという利用になります。
【2】アウトプット
テキストファイルのアウトプットには、ADODB.StreamのWriteTextメソッドを使います。
その上で、SaveToFileメソッドでテキストファイルに保存します。
【解説3】WriteTextメソッド
構文「myStream.WriteText テキスト文字列 , [改行指定]」
で、ストリームオブジェクトにテキスト文字列を書き込みます。
[改行指定]に、 1(定数adWriteLine) を指定すると、文字列を書き込んだ後ろに改行文字が挿入されます。
改行指定を省略するか、”0″を入力すると改行が入力されません。
【解説4】SaveToFileメソッド
何度かWriteTextメソッドで文字を書き込んでいき、書き込みが終わったら最後に、
構文「myAdost.SaveToFile ファイル名 , [上書き指定]」
で、ストリームオブジェクトの内容をファイルに保存します。
ファイル名にはファイルパス文字列を、
[上書き指定]のパラメータには、
ファイルを上書きしない場合 ”1″を、
上書きする場合 ”2″を指定しましょう。
省略時のデフォルト値は「1」です。
ちょっと専門的な内容の記事になりましたが、VBAコード記述の参考にしていただければ。
それでは、また次の記事で
■■■■ goosyun ■■■■