下記のコードを使用して、Excelシートから.txtファイルを作成しています。しかし、それはファイルの先頭に別の列を生成するように思われ、私は理由を理解できません。どんな助けもありがとう。Excelスプレッドシートからtxtファイルを作成する
A9:M287もすべて内容で満たされているため、非表示の空白列ではありません。
Sub StoretoTXT()
Dim answer As Integer
answer = MsgBox("Have all the required fields been filled and are correct?", vbYesNo + vbQuestion, "Data Check")
If answer = vbYes Then
Dim c As Range, r As Range
Dim output As String
For Each r In Range("A9:M287").Rows
For Each c In r.Cells
output = output & vbTab & c.Value
Next c
output = output & vbNewLine
Next r
Open "C:\Test\Desktop" & Format(Now(), "YYYYMMDDHHMMSS") & "Test.txt" For Output As #1
Print #1, output
Close
MsgBox "File has now been created. Excel will now close"
ActiveWorkbook.Close False
Else
'do nothing
End If
End Sub
あなたは 'c.value'を追加する前に、' vbTab'を入れています。これにより、 'vbTab'で常に始まる' output' *が返されます。最初のセルであるかどうかをチェックする必要があります。もしそうなら、タブに入れないでください。 – tigeravatar
Tab-Delimitedファイルとして直接保存する方法があります。 –