从txt文件到excel的特殊字符

我正在尝试从txt文件导入特殊字符到excel。 我已经尝试了很多东西,但在Excel中的字符BREAK。 我的string示例:

在txt:Changjíhuízúzìzhìzhou擅长转换:ChangjÃûÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃ

所以我尝试了一点一点地移动数值,但没有运气。

Sub ImportTXTFile() Dim file As Variant Dim EXT As String Dim Direct As String ' directory... Direct = "C:\FilePath\Here\" EXT = ".txt" Dim COL As Long Dim row As Long COL = 1 row = 1 file = Dir(Direct) Do While (file <> "") ' Cycle through files until no more files If InStr(file, "Data.txt") > 0 Then ' Open Direct & "Data.txt" For Input As #1 ' While Not EOF(1) Line Input #1, DataLine ' Read in line Do While DataLine <> "" If InStr(DataLine, ",") = 0 Then ' Drop value into excel upto the first , Sheets("test").Cells(row, COL).Value = DataLine DataLine = "" Else Sheets("test").Cells(row, COL).Value = Left(DataLine, InStr(DataLine, ",") - 1) DataLine = Right(DataLine, Len(DataLine) - InStr(DataLine, ",")) ' rebuild array without data upto first , End If COL = COL + 1 ' next column Loop COL = 1 ' reset column row = row + 1 ' write to next row Wend ' Close #1 ' Close files straight away End If file = Dir Loop MsgBox "Data Updated" End Sub 

所以我想哭,因为所有这些UTF-8到ASCII的转换可以简单地通过以下方式来避免:打开Notepad ++中的txt文件转到编码选项卡点击转换为ASCII

跑了我的原始代码。 BLAM一切都是完美的。

谢谢你danieltakeshi所有的帮助!

使用我给你的第一个链接 ,这里是一个testing代码,我testing成功。 使用字符集 : CdoISO_8859_1

 Dim objStream As Object Dim strData As String Set objStream = CreateObject("ADODB.Stream") objStream.Charset = "iso-8859-1" objStream.Open objStream.LoadFromFile ("C:\Users\user_name\Desktop\test.txt") strData = objStream.ReadText() Debug.Print strData & " Compare to: Changjíhuízúzìzhìzhou" 

输出是: 即时

编辑:

检查你的.txt文件的编码types,并使用相同的编码字符集导入到Excel中,例如,我将test.txt改为UTF-8,并用.Charset成功导入为"utf-8"

您可以另存为.txt文件并select编码。

.txt另存为