Прочитать текст Arabi c из текстового файла с использованием VBA и копировать в Excel в зависимости от условий - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть текстовый файл, содержащий от 15 000 до 20 000 строк. Эти строки либо только на английском языке Engli sh, либо только на арабском языке c или комбинации текста на английском языке Engli sh и арабском языке c. Мне нужно написать код на VBA для чтения каждой строки и, основываясь на определенных условиях, мне нужно скопировать строки из текстового файла в различные строки Excel.

Я пытался использовать FileSystemObject и другие решения, но не смог прочитать код. В то время как текст только с Engli sh выглядит хорошо, однако строки с текстом Arabi c отображаются как символы Gibberi sh при вставке в Excel.

Я нахожусь на P C с настройками Engli sh. Если я попытаюсь вручную скопировать текст с использованием символов арабского c и вставить в Excel, он будет работать отлично.

Пожалуйста, дайте мне знать, если вы делали что-то подобное в прошлом и возможный подход к тому, как это можно быть сделано с помощью Excel VBA.

Спасибо

1 Ответ

0 голосов
/ 17 апреля 2020

Я думаю, что вы должны использовать кодировку utf-8

Попробуйте что-то вроде этого (прочитайте первые 100 символов и вставьте их в ячейки A6): вам нужно установить ссылку на "Microsoft Active Data Objects 6.1 Library"

enter image description here

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...