Board logo

標題: [發問] 請問工作表匯出成txt後,資料內容有多出雙引號 [打印本頁]

作者: dbv002    時間: 2015-10-15 18:23     標題: 請問工作表匯出成txt後,資料內容有多出雙引號

最近轉換格式遇見一個問題,導出工作表到TXT文檔時候,莫名其妙多了很多 ""
當然也有些地方是多出來" 符號.感覺比較隨機.
例如附件檔案 149行 298行 470行 729行等導出后都會變成. "" 或 ". 有時候是雙引號,有時候是單引號
查資料提到VBA 可以解決,但是不太理解怎麼處理,還請高手指點,謝謝!
如果能直接處理好這個工作表當然更好,拜謝!

[attach]22198[/attach]
作者: stillfish00    時間: 2015-10-15 18:55

本帖最後由 stillfish00 於 2015-10-15 19:04 編輯

回復 1# dbv002
複製儲存格後再貼到文字檔比較快。。。

你說的匯出成txt 是指匯出csv吧...
csv 是'逗號分隔'文字檔,那些引號是有其理由而不是莫名其妙的。
作者: dbv002    時間: 2015-10-16 09:19

回復  dbv002
複製儲存格後再貼到文字檔比較快。。。

你說的匯出成txt 是指匯出csv吧...
csv 是'逗號 ...
stillfish00 發表於 2015-10-15 18:55



    匯出的UNICODE的 TXT文檔,嘗試過複製,好像無法從根本解決此問題,因為下次從excel導出后依然還是有雙引號,需要解決附件的excel的問題
作者: stillfish00    時間: 2015-10-16 10:30

回復 3# dbv002
試試吧...
  1. Public Sub ExportUnicodeWithoutQuote()
  2.     Set ws = ActiveSheet
  3.     Dim sFile As String
  4.    
  5.     sFile = Application.GetSaveAsFilename("", "Unicode Text File (*.txt), *.txt")
  6.     If sFile = "False" Then Exit Sub
  7.    
  8.     Const adTypeBinary = 1
  9.     Const adTypeText = 2
  10.     Const adSaveCreateOverWrite = 2

  11.     Dim oStream: Set oStream = CreateObject("ADODB.Stream")
  12.     oStream.Charset = "UTF-8"
  13.     oStream.Type = adTypeText
  14.     oStream.Open
  15.    
  16.     Dim ar: ar = ws.[A1].CurrentRegion.Value
  17.     Dim s As String
  18.     For r = 1 To UBound(ar)
  19.         For c = 1 To UBound(ar, 2)
  20.             s = IIf(c = 1, ar(r, c), s & vbTab & ar(r, c))
  21.         Next
  22.         oStream.writeText s, adTypeBinary
  23.     Next

  24.     oStream.SaveToFile sFile, adSaveCreateOverWrite
  25.     oStream.Close
  26. End Sub
複製代碼

作者: dbv002    時間: 2015-10-16 11:48

謝謝,問題已經解決! 謝謝




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