【问题标题】:VBA: need to read accented characters from a text file and KEEP themVBA:需要从文本文件中读取重音字符并保留它们
【发布时间】:2015-03-24 00:48:27
【问题描述】:

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

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

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

我已经看到有替换重音字符的解决方案,但我不想这样做,因为我想要对 Excel 中的信息执行的操作仍然需要重音符号。

我是否在某处缺少格式选项?

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    另一种方法是使用 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。

    样品测试

    【讨论】:

    • PS - 当我从互联网上复制这些西班牙语单词时,我不确定它们是什么意思。因此,如果它们具有攻击性,请予以警告。
    • 谢谢,我会试一试,但是如何引用 Microsoft ActiveX DataObjects?(西班牙语单词是无害的 :)
    • 完成了,效果很好。谢谢
    • 您可以通过如下声明和设置对流的引用来避免向项目添加特定于版本的库引用(这使得分发变得具有挑战性): Dim objADO As Object : Set objADO = CreateObject( "ADODB.Stream")
    【解决方案2】:

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

    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 用于处理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-29
      • 2018-01-03
      • 1970-01-01
      • 1970-01-01
      • 2021-01-11
      • 1970-01-01
      • 2021-08-02
      • 2017-03-08
      相关资源
      最近更新 更多