Board logo

標題: [發問] 如何匯入UTF-8 類型的檔案 [打印本頁]

作者: bioleon69    時間: 2017-5-16 14:33     標題: 如何匯入UTF-8 類型的檔案

本帖最後由 bioleon69 於 2017-5-16 14:36 編輯

第一種方法
但是會開出新的WORKBOOK
Workbooks.Open Filename:="https://smart.tdcc.com.tw/opendata/getOD.ashx?id=2-8", Format:=2


第二種方法
會變亂碼
  1. Sub TESTCSV()
  2. Set book1 = ActiveSheet
  3. Set bookshow = book1.QueryTables _
  4.     .Add(Connection:="TEXT;https://smart.tdcc.com.tw/opendata/getOD.ashx?id=2-8", _
  5.         Destination:=book1.Range("A1"))
  6. With bookshow
  7.     .TextFileParseType = xlDelimited
  8.   .TextFileCommaDelimiter = True
  9.     .Refresh
  10. End With
  11. End Sub
複製代碼
兩種方法都差一點
有辦法能夠成功匯入一個工作表裡面不亂碼嗎

謝謝[/code]
作者: bioleon69    時間: 2017-5-16 22:50

本帖最後由 bioleon69 於 2017-5-16 22:51 編輯

問題已解決~
有需要可參考,以下為解決方法
  1. Sub 插入UTF8後刪除()
  2.     Dim sh As Worksheet
  3.     ActiveSheet.Select
  4.     tabname = "TEST"
  5.     For Each sh In Worksheets
  6.     If sh.Name = tabname Then Exit Sub
  7.     Next

  8.     ControlFile = ActiveWorkbook.Name
  9.     Workbooks.Open Filename:="https://smart.tdcc.com.tw/opendata/getOD.ashx?id=2-8"
  10.     ActiveSheet.Name = tabname
  11.     Sheets(tabname).Copy After:=Workbooks(ControlFile).Sheets(1)
  12.     Application.DisplayAlerts = False
  13.     Workbooks("getod.ashx").Close
  14.     Application.DisplayAlerts = True
  15. End Sub
複製代碼

作者: ML089    時間: 2017-5-17 09:19

回復 2# bioleon69

我測試後還是亂碼

可以參考
https://www.mtmd.tw/mtmd_7236.htm

用錄製巨集方式
'
' Macro3 Macro
'

'
    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;https://smart.tdcc.com.tw/opendata/getOD.ashx?id=2-8", Destination:= _
        Range("$A$1"))
        .Name = "getOD.ashx?id=2-8"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
       .TextFilePlatform = 65001
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub
作者: bioleon69    時間: 2017-5-17 09:43

回復 3# ML089

XD奇怪 我自己測試是OK的~
還是謝謝大大分享這個另外一種方法
還特別上色 XD讚
我來研究一下這個方法~
謝謝^^




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