access-vba
Access Vbaでテキスト区切りファイルを作成します。
サーチ…
前書き
場合によっては、さまざまな用途のために区切られたテキストファイルを作成する必要があります。以下の例は、あなたがそれを行うのを手助けする多くの方法の1つです。区切り記号にパイプ( "|")を使用して、Sep変数の割り当てを変更するだけで変更しました。私の例では、レコードセットを配列にダンプしますが、これは決してdefactoアプローチではなく、ちょうど私の行くところです。これは、レコードセット自体を使用しても簡単に行うことができます。
備考
これは指摘する価値があります:
Wholeline = Wholeline & aRR(i, j) & Sep
レコードセットは転置された配列にダンプするので、テキストファイルに逆方向に読み込む必要があります。ダイナミック配列を使って作業している場合は、すでに転置されているので、実際には便利です。そのため、「行数」を大幅に上げることは、重い持ち上げの前に行うことができます。
また、何も価値がない:
次の構文を使用して、行ごとに新しい行にダンプすることで、youre配列を簡単に転置することができます:
Dim xaRR() As String
ReDim xaRR(q, z)
xaRR(j, i) = aRR(i, j)
これは私のポストにはあまり関係がありませんが、指摘する価値はあります。
例:
Private Sub this()
Dim rs As DAO.Recordset
Dim q%: Dim z%
Set rs = CurrentDb.OpenRecordset("SELECT * FROM Invoice;")
With rs
rs.MoveLast
q = rs.RecordCount
rs.MoveFirst
z = rs.Fields.Count
End With
Dim aRR As Variant
aRR = rs.GetRows(q)
Dim i%: Dim j%: Dim counter#: Dim Sep$: Dim Wholeline$: Dim NewTextFile$: Dim path$: Dim fileNameV$
Sep = "|"
path = Environ("USERPROFILE") & "\Desktop" & "\"
fileNameV = "Text007.txt"
NewTextFile = path & fileNameV
Open NewTextFile For Output As #2
For j = LBound(aRR, 2) To UBound(aRR, 2)
For i = LBound(aRR, 1) To UBound(aRR, 1)
Wholeline = Wholeline & aRR(i, j) & Sep
Next i
Print #2, Wholeline
Wholeline = vbNullString
Next j
Close #2
rs.Close
Set rs = Nothing
Erase aRR
End Sub
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow