プロが教える店舗&オフィスのセキュリティ対策術

下記コードでエクセルをtxtに変換するとカンマを含む文字数字が「””」付になってしまいます。
カンマ「,」を含んでいても「””」付にならないような方法を教えていただけますか。

Private Sub CommandButton1_Click()

Dim MyPath As String
Dim MyName As String

'ファイルパス
MyPath = ThisWorkbook.Path

'テキストファイルにつける名前
MyName = "リスト"

'対象シート別ファイルへ複製
Sheets("Sheet1").Select
Sheets("Sheet1").Copy

'テキストタブ区切りで保存
ActiveWorkbook.SaveAs Filename:=MyPath & "/" & MyName & ".txt", _
FileFormat:=xlText, CreateBackup:=False

'複製したファイルを閉じる
ActiveWorkbook.Close False

End Sub

「VBAでエクセルをtxtに変換するとエク」の質問画像

A 回答 (1件)

こんにちは



>カンマを含む文字数字が「””」付になってしまいます。
どうやら、テキスト保存時のエクセルの仕様のようですね。

>「””」付にならないような方法を教えていただけますか。
SaveAsを使わずに直接テキストファイルとして書き込めば宜しいでしょう。

詳細が不明なので、以下はご参考までに。
(TextJoinが使える、Excel 2019 以降を想定しています)

Sub Q13115188()
Dim fNum As Long, rw As Long, cl As Long
Worksheets("Sheet1").Activate
fNum = FreeFile

Open ThisWorkbook.Path & "\リスト.txt" For Output As #fNum
For rw = 1 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
cl = Cells(rw, Columns.Count).End(xlToLeft).Column
Print #fNum, WorksheetFunction.TextJoin(vbTab, 0, Cells(rw, 1).Resize(, cl))
Next rw
Close #fNum
End Sub
    • good
    • 1
この回答へのお礼

>テキスト保存時のエクセルの仕様のようですね
そうですか。私にとっては難問でした。
おかげ様で私のやりたい事が実現出来ました。
利用させていただきます。

お礼日時:2022/08/29 18:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!