Board logo

標題: [發問] EXCEL轉 TXT檔, 如何自動新增雙引號? [打印本頁]

作者: mistery    時間: 2019-6-6 19:08     標題: EXCEL轉 TXT檔, 如何自動新增雙引號?

本帖最後由 mistery 於 2019-6-6 19:12 編輯

'轉檔時將儲存格處理增加雙引號

Cells(i, j) = Chr(34) & CStr(Cells(i, j))

ActiveWorkbook.SaveAs Filename:= spath & "\Q.txt", FileFormat:=xlCSV, CreateBackup:=False

EXCEL內:LUCKY08   LUCKY09    (分列在兩個儲存格)      
轉到TXT檔後: """LUCKY08" ,  """LUCKY09"      (左邊三個雙引號,右邊一個雙引號)

怎麼做就是無法"正常"出現左右各一個雙引號 ???  
  
  請大師解惑
作者: n7822123    時間: 2019-6-6 23:06

本帖最後由 n7822123 於 2019-6-6 23:08 編輯

回復 1# mistery


存成txt就不要用CSV存檔了,改存檔格式吧,試試看

ActiveWorkbook.SaveAs Filename:=spath & "\Q.txt", FileFormat:=xlTextPrinter, CreateBackup:=False
作者: mistery    時間: 2019-6-10 17:31

因為要求格式為  以 雙引號  框住 值   並用  逗號  隔開 
之所以不用 FileFormat:=xlTextPrinter   是因為就會變成用  空格  隔開

不過~~還是非常謝謝,我還是會再想想
作者: n7822123    時間: 2019-6-10 22:01

回復 3# mistery


  用Replace 處理字串,把空格變成逗號,因為你沒給檔案,所以我也只能給建議
作者: quickfixer    時間: 2019-6-10 22:05

[attach]30824[/attach]

試試
Sub test()
    Dim f As Integer, temp(1 To 3)
    f = FreeFile
    Open "c:\test.txt" For Output As #f
    For i = 1 To 5
        For j = 1 To 3
              temp(j) = Chr(34) & Cells(i, j) & Chr(34)
        Next j
        Print #f, Join(temp, ",")
    Next i
    Close #f
End Sub




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)