標題:
[發問]
請問工作表匯出成txt後,資料內容有多出雙引號問題
[打印本頁]
作者:
pesi2884
時間:
2011-7-24 18:04
標題:
請問工作表匯出成txt後,資料內容有多出雙引號問題
請求幫助解答問題~~
請問工作表匯出成txt,然後打開匯出的txt檔
資料內容為什麼有多出雙引號
如下二列文字,最前面及最後面都有雙引號
"<Placemark><name>景點1</name><Point><coordinates>120.1,23.1,0</coordinates></Point></Placemark>"
"<Placemark><name>景點2</name><Point><coordinates>120.2,23.2,0</coordinates></Point></Placemark>"
在excel檔本來沒有的
請問如何讓匯出的txt檔不要有雙引號
如下二列文字
<Placemark><name>景點1</name><Point><coordinates>120.1,23.1,0</coordinates></Point></Placemark>
<Placemark><name>景點2</name><Point><coordinates>120.2,23.2,0</coordinates></Point></Placemark>
附上附件
謝謝!
作者:
infoverdad
時間:
2011-7-24 19:32
回復
1#
pesi2884
顯然是因為你同一格中的資料有","號
因為excel 可轉為csv格式 各格之間就是以","號區隔的
試著將你第一格(A1)中的","號都改成"#"號 (A2則不改)
則以notepad 讀出的結果如下:
<Placemark><name>???I1</name><Point><coordinates>120.1
#
23.1
#
0</coordinates></Point></Placemark>
"<Placemark><name>???I2</name><Point><coordinates>120.2,23.2,0</coordinates></Point></Placemark>"
作者:
GBKEE
時間:
2011-7-24 21:12
回復
1#
pesi2884
如infoverdad 說你字串有逗號"," 可試用下法存為txt
Sub Ex()
Dim i%, FileName
FileName = "D:\TEST\1000724.txt" '建立檔案名稱。"
Open FileName For Output As #1 '開啟檔案。
Do While Cells(i + 1, "A") <> ""
Print #1, Cells(i + 1, "A") '將字串寫入檔案。"
i = i + 1
Loop
Close #1 ' 將檔案關閉。
End Sub
複製代碼
作者:
pesi2884
時間:
2011-7-24 21:41
回復
3#
GBKEE
謝謝GBKEE您的回答,有達到想要的結果
但是我因為有許多相同資料類型的(有上百個)工作表
要存成許多(有上百個)檔案
假設附件內有3個工作表,分別為 雲林~中美、高雄~墾丁、屏東~嘉義
那如何匯出成分別為 雲林~中美.txt、高雄~墾丁.txt、屏東~嘉義.txt
請問該要怎麼寫,不好意思,我的程式語言能力還很弱
所以需要您的幫忙,謝謝你呀!
作者:
GBKEE
時間:
2011-7-24 21:48
回復
4#
pesi2884
試試看
Sub Ex()
Dim Sh As Worksheet, FileName As String, i%
For Each Sh In Sheets
FileName = "D:\" '建立檔案資料夾"
Open FileName & Sh.Name & ".txt" For Output As #1 '開啟檔案。
i = 1
Do While Sh.Cells(i, "A") <> ""
Print #1, Sh.Cells(i, "A") '將字串寫入檔案。"
i = i + 1
Loop
Close #1 ' 將檔案關閉。
Next
End Sub
複製代碼
作者:
pesi2884
時間:
2011-7-24 22:12
回復
5#
GBKEE
謝謝版主!
可以了
作者:
pesi2884
時間:
2011-7-24 22:31
回復
5#
GBKEE
不好意思,再問一下
承剛剛版主大大您的回覆程式裡
如果匯出的檔案要有以下的格式
FileFormat:=xlUnicodeText, CreateBackup:=False
程式該如何寫
因為要的成果,與檔案格式有關,謝謝
作者:
GBKEE
時間:
2011-7-25 07:03
回復
7#
pesi2884
Sub Ex()
Dim Fs As Object
Dim Sh As Worksheet, FileName As String, i%
For Each Sh In Sheets
FileName = "D:\" '建立檔案資料夾"
Set Fs = CreateObject("Scripting.FileSystemObject").OpenTextFile(FileName & Sh.Name & ".txt", 8, True, -1)
'FileSystemObject物件,提供對電腦檔案系統的存取。 OpenTextFile 開啟檔案.
'8 -> ForAppending: 開啟一個檔案並寫輸出至檔案的尾部。1 -> ForReading:開啟一個唯讀檔案。無法對此檔案進行寫入。
'True: 它表示如果指定的 filename 不存在是否可以建立一個開新檔案。如果建立開新檔案,其值為 True。若不建立檔案其值為 False。預設值為 False。
'-1 以 Unicode 格式開啟檔案。如果省略,則檔案以 ASCII 格式開啟。
'Set Fs = CreateObject("Scripting.FileSystemObject").CreateTextFile(FileName & Sh.Name & ".txt", True, True)
'CreateTextFile 新建檔案,
'第1個 True: 表示一個已存在檔案是否可被覆蓋。如果可被覆蓋其值為 True,其為 False 時無法覆蓋,預設值為False.
'第2個 True: 。如果作為一個 Unicode 檔案建立,其為 True,作為一個 ASCII 檔案建立,其為 False。預設值為False
i = 1
Do While Sh.Cells(i, "A") <> ""
Fs.Write Sh.Cells(i, "A") '將字串寫入底端。"
Fs.WriteLine '換行
i = i + 1
Loop
Fs.Close ' 將檔案關閉。
Next
End Sub
複製代碼
作者:
pesi2884
時間:
2011-7-25 08:51
回復
8#
GBKEE
謝謝版主,試過後可以了,非常感恩。
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)