こちらはVBAでFile I/Oを行う方法のメモです。
なお、サンプル上ではオブジェクト階層をフルで書いていますが、
省略すると訳が分からなくなるのでサンプルではあえてそうしています。
慣れてきたら適宜省略して下さい。
目次
ADODB.Streamを利用してファイルの読み込みを行う
読み込みサンプル1
Public Sub FileIORead1() ' [参照設定] Microsoft ActiveX Data Objects 6.1 Library Dim p_adodbStream As ADODB.Stream Set p_adodbStream = New ADODB.Stream p_adodbStream.Open p_adodbStream.Type = ADODB.StreamTypeEnum.adTypeText p_adodbStream.Charset = "Shift_JIS" p_adodbStream.LoadFromFile "C:\temp\in.txt" Dim p_line As String Do Until p_adodbStream.EOS p_line = p_adodbStream.ReadText(ADODB.StreamReadEnum.adReadLine) Debug.Print "[" & p_line & "]" Loop p_adodbStream.Close End Sub
in.txt
abc 1234 あいうえお
出力結果
[abc] [1234] [あいうえお]
ADODB.Streamを利用してファイルの書き込みを行う
書き込みサンプル1
Public Sub FileIOWrite1() ' [参照設定] Microsoft ActiveX Data Objects 6.1 Library Dim p_adodbStream As ADODB.Stream Set p_adodbStream = New ADODB.Stream p_adodbStream.Open p_adodbStream.Type = ADODB.StreamTypeEnum.adTypeText p_adodbStream.Charset = "Shift_JIS" p_adodbStream.WriteText "abc", ADODB.StreamWriteEnum.adWriteLine p_adodbStream.WriteText "1234", ADODB.StreamWriteEnum.adWriteLine p_adodbStream.WriteText "あいうえお", ADODB.StreamWriteEnum.adWriteLine p_adodbStream.SaveToFile "C:\temp\out.txt", ADODB.SaveOptionsEnum.adSaveCreateOverWrite p_adodbStream.Close End Sub
out.txt
abc 1234 あいうえお