VBA:需要从文本文件中读取重音字符并保留它们

我想用VBA读取文本文件,提取相关的数据,并将其转换为Excel文件。 这是我正在使用的代码的types:

Sub ReadText() Dim myFile As String, textline As String myFile = Application.GetOpenFilename() Open myFile For Input As #1 LineNumber = 0 Do Until EOF(1) LineNumber = LineNumber + 1 Line Input #1, textline 'do stuff to extract the info I want and transfer to Excel Loop Close #1 End Sub 

我住在讲西class牙语的国家,所以我需要保留很多重音字符。 问题是这些重音字符正在转换为其他字符。 例如,应将INGLÉS读作INGL?S

我已经看到有替代重音字符的解决scheme,但我不想这样做,因为口音仍然是我想要做的与Excel中的信息所需要的。

我在某处丢失了格式选项吗?

另一种方法是使用ADO。

 Sub ReadUTFFile() Dim objADO As ADODB.Stream Dim varText As Variant Set objADO = New ADODB.Stream objADO.Charset = "UTF-8" objADO.Open objADO.LoadFromFile "C:\Users\pankaj.jaju\Desktop\utftest.txt" varText = Split(objADO.ReadText, vbCr) Range("A1").Resize(UBound(varText) - LBound(varText)).Value = Application.Transpose(varText) End Sub 

– 不要忘记引用Microsoft ActiveX DataObjects。

在这里输入图像描述

在这里输入图像说明 样品testing

在这里输入图像说明

这是我用来保持/强制停止自动格式化的function

 Sub spcChr Dim i As Long Dim num As Integer Dim x() As Byte x = StrConv([A1], vbFromUnicode) For i = 0 To UBound(x) Select Case x(i) Case 211: num = 79 Case 63: num = 83 Case Else: num = x(i) End Select [B1] = [B1] & Chr(num) Next End Sub 

这里A1单元格包含具有特殊字符的名称。 B1用于处理。