Board logo

標題: 關於網頁下載資料亂碼問題 [打印本頁]

作者: ten999    時間: 2012-8-17 11:33     標題: 關於網頁下載資料亂碼問題

請問各位先進:
於vba中下載資料時會出現亂碼,如果於網頁開啟執行過程(ie ,.Visible = True)中手動編碼為UTF8時便可正常.
請問:這手動程如何以VBA程式碼編寫!
謝謝!
作者: luhpro    時間: 2012-8-19 04:48

回復 1# ten999

以下摘錄自Excel說明 :
Encoding 屬性
請參閱套用至範例特定傳回或設定文件的編碼方式 (字碼頁或字元集),當檢視儲存的文件時,網頁瀏覽器將使用此文件編碼方式。預設值為系統的字碼頁。讀/寫 MsoEncoding 資料類型。

MsoEncoding 可以是這些 MsoEncoding 常數之一。
...
msoEncodingUTF8
...

試試看是否可以解決你的問題.
作者: GBKEE    時間: 2012-8-19 11:21

回復 1# ten999
檢視網頁的,原始檔案存為 HTM檔 ,再度打開此HTM檔 就可消除亂碼
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Fs As Object, Url As String, OkFile As String, MyQuery As QueryTable
  4.     Url = " http://www.p-shares.com/0051-4-1-1.asp"   '網址
  5.     OkFile = "D:\OK.HTM"                              '下載後存檔名稱
  6.     With CreateObject("Microsoft.XMLHTTP")
  7.         .Open "get", Url, False
  8.         .send
  9.         Set Fs = CreateObject("Scripting.FileSystemObject").CreateTextFile(OkFile, True)
  10.                                      '建立一文字檔(True:檔案如存在 可覆蓋舊檔案)
  11.         Fs.WriteLine .responseText   '寫入文字檔
  12.         Fs.Close
  13.         With ThisWorkbook.Sheets(1)  '工作表中匯入HTM檔
  14.             Set MyQuery = .QueryTables.Add("FINDER;file:///" & OkFile, .[a1])
  15.             MyQuery.WebFormatting = xlWebFormattingNone
  16.             MyQuery.Refresh 0
  17.         End With
  18.   End With
  19. End Sub
複製代碼





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