3
這個問題是從以前的問題here一個遵循。放在哪裏來源:= 65001代碼
基於由@Jeeped答案,似乎解決該問題的最好辦法是插入的這部分代碼到宏:
Origin:=65001
這是爲了迫使我的代碼導入UTF-8格式的文件。
現在的問題出現,我可以不知道如何或在哪裏我的宏,將上面的代碼。我有以下宏(我在網上找到 - 但不記得在哪裏,所以不能得分),將大量文件導入工作簿,爲每個文件創建電子表格。
Sub Extractions()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.DisplayStatusBar = False
Dim FilesToOpen
Dim x As Integer
On Error GoTo ErrHandler
FilesToOpen = Application.GetOpenFilename _
(fileFilter:="Microsoft Excel Files (*.*?), *.*?", MultiSelect:=True, Title:="Files to Import")
If TypeName(FilesToOpen) = "Boolean" Then
MsgBox "No Files were selected"
GoTo ExitHandler
End If
x = 1
While x <= UBound(FilesToOpen)
Workbooks.Open Filename:=FilesToOpen(x), Delimiter:=Chr(124)
Sheets().Move Before:=ThisWorkbook.Sheets _
(ThisWorkbook.Sheets.Count)
x = x + 1
Wend
ExitHandler:
Application.ScreenUpdating = False
Exit Sub
ErrHandler:
MsgBox Err.Description
Resume ExitHandler
Resume
End Sub
有關如何解決此問題的任何建議?編輯1:
感謝@Rory的建議。經過更多調查,看起來Origin:=65001
不是Workbook.Open
中的有效條目。
因此,我想知道在使用上面的代碼導入到MFGI時,是否有任何方法可以保留原始格式設置爲UTF-8的文本文件?
你會在此添加:'Workbooks.Open名:= FilesToOpen(X),分隔符:= CHR(124),產地:= 65001'。如果文件是文本,看起來應該使用'Workbooks.OpenText'。 – Rory
@Rory該文件用於同時加載約40個不同的文件。其他方法一次只能打開1個文件,併爲每個文件打開單獨的電子表格 – Clauric
'Workbooks.Open'的行爲方式相同。 – Rory