Stream オブジェクトを利用する
2018.03.30
Streamオブジェクトを利用する
Sub Streamオブジェクトを使用()
Dim mySrm As New ADODB.Stream
With mySrm
'ストリームを開く
.Open
'データの種類を指定
.Type = adTypeText
'文字セットを指定
.Charset = "shift_jis"
'書き出し内容を記述
.WriteText "[data.txt]", adWriteLine
.WriteText "ColNameHeader = True", adWriteLine
.WriteText "CharacterSet = ANSI", adWriteLine
.WriteText "Format = TabDelimited", adWriteLine
.WriteText "Col1=商品コード Short", adWriteLine
.WriteText "Col2=商品名 Text Width 20", adWriteLine
.WriteText "Col3=仕入先 Text Width 20", adWriteLine
.WriteText "Col4=単価 Currency", adWriteLine
.WriteText "Col5=最終発注日 DateTime", adWriteLine
'ストリームの内容をファイルとして保存
.SaveToFile ThisWorkbook.Path & "\txt\4-48schema_sample.txt", adSaveCreateOverWrite
.Close
End With
Set mySrm = Nothing
End Sub
ADOに用意されているStreamオブジェクトを使用すると、バイナリレベルでファイルやデータをら見書きすることができる。
Streamオブジェクトのプロパティ
プロパティ |
説明 |
Charset |
文字セットを指定 |
EOS |
現在の位置がストリームの末尾にあるかどうかを判定 |
LineSeparator |
テキストストリームの場合、行末尾の改行記号の取得/設定を行う |
Mode |
データの変更権限を指定 |
Position |
現在位置を取得/設定 |
Size |
サイズを取得 |
State |
対象になるオブジェクトが開いているか閉じているかを判定 |
Type |
データの種類をStreamTypeEnum値で指定
定数 |
値 |
説明 |
adTypeBinary |
1 |
バイナリ データを表します。 |
adTypeText |
2 |
Charsetで指定された文字セットにあるテキストデータを表します。 既定値 |
|
Streamオブジェクトのメソッド
メソッド |
説明 |
Open |
Streamオブジェクトを開く |
Close |
Streamオブジェクトを閉じる |
Write |
バイナリデータを書き込む |
WriteText |
テキストデータを書き込む |
Read |
指定したバイト数のデータを読み込む |
ReadText |
指定した文字数のデータを読み込む |
LoadFromFile |
ファイルの内容を読み込むトリームの内容をファイルに保存する |
SaveToFile |
ストリームの内容をファイルに保存する |
SetEOS |
ストームの終わりの位置を設定する |
SkipLine |
1行全体をスキップする |
Cancel |
非同期メソッド呼び出しの内、保留中のものの実行をキャンセルする |
CopyTo |
指定したバイト数、または文字数のデータを他のStreamオブジェクトにコピーする |
Flush |
ADOバッハファに保持されているStreamの内容を、関連づけられた元になるオブジェクトに反映する |
State |
Streamオブジェクトに関する情報を取得する |
実行結果 書き出されたファイル「4-48schema_sample.txt」