銀河鉄道

【VBA】テキストファイルに配列の中身を書き出す|ADODB.Stream

サムネイル
配列をテキストに書き出す

配列をテキストファイルに書き出したい

ADODB.Streamで書き出し

クラスを作る

クラス名はGoTxtとしてみる

Option Explicit
Private objSt As Object
Private txtFilePath As String
Private ary As Variant

Private Const asSaveCreateOverWrite As Long = 2 '指定したファイルが既に存在する場合、上書きする
Private Const asWriteLine As Long = 1 'ファイルに書き込む際、テキスト文字列と行区切り文字を書き込む
Private Sub Class_Initialize()
    Set objSt = CreateST
End Sub
'配列と書き出し先のパスを受け取る
Public Sub Out( _
                    ByVal vAry As Variant, _
                    ByVal vPath As String)
    ary = vAry
    txtFilePath = vPath
    OutputTxtFile
End Sub
Private Sub OutputTxtFile()
    With objSt
        .Charset = "UTF-8"
        .Open
        
        WriteTxt
        
        .SaveToFile txtFilePath, adsavecreateoverwrite
        .Close
    End With
End Sub
'配列の中身を1つずつ書き込み(一次元配列の場合)
Private Sub WriteTxt()
    Dim text As String
    Dim i As Long
    For i = LBound(ary) To UBound(ary)
        text = ary(i)
        .WriteText text, asWriteLine
    Next i
End Sub

必要なもの

使い方

Dim ary As Variant
Dim path As String

ary = (配列を準備)
path = (パスを指定)

Set GoTxt = New GoTxt
GoTxt.Out ary, path

著者

author
月うさぎ

編集後記:
この記事の内容がベストではないかもしれません。

記事一覧