我有一个包含大约15,000到20,000行的文本文件。这些行要么只有英语,要么只有阿拉伯语,或者是英语和阿拉伯语文本的组合。我需要在VBA中编写代码来读取每一行,并且根据某些条件,我需要将这些行从文本文件复制到各种Excel行中。
我尝试过使用FileSystemObject和其他解决方案,但无法阅读代码。虽然只包含英语的文本也可以,但是包含阿拉伯文本的行在粘贴到Excel中时会显示为乱码。
我在使用英语设置的PC上。如果我尝试手动复制包含阿拉伯字符的文本并将其粘贴到Excel中,则效果非常好。
请让我知道,如果你做了类似的事情在过去和可能的方法,这可以如何使用Excel VBA来完成。
谢谢
发布于 2020-04-17 08:21:29
我认为你必须使用utf-8编码。
尝试这样做(阅读前100个字符并将其传递给Cells A6):您必须设置对"Microsoft Active Data Objects 6.1 Library“的引用。
Sub UTF_8()
Dim obj As ADODB.Stream
Dim objFilePath As String
Dim objText As String
objFilePath = "C:\Arabic.txt"
Set obj = New ADODB.Stream
obj.Charset = "utf-8"
obj.Open
obj.LoadFromFile (objFilePath)
objText = obj.ReadText(100)
Range("A6").Value = objText
obj.Close
Set obj = Nothing
End Sub
https://stackoverflow.com/questions/61264694
复制相似问题