как прочитать код символов арабского языка?

Тема в разделе "Visual Basic", создана пользователем rustamh, 2 июн 2009.

  1. rustamh

    rustamh Гость

    Здравствуйте!
    Мне нужно использовать функцию ASC() для арабских символов - но проблема в том, что на их месте VBA видит только ? - вопросительные знаки. И функция ASC() выдает всегда одно и то же значение для любого арабского символа (код вопросительного знака).

    Но ведь EXCEL видит, что эти символы разные. он очень красиво и четко отображает. неужели нельзя заставить VBA тоже различать их???
    помимо основного текста нужны также кодировки диакритических символов (типо знака ударения в русском языке, который над буквами пишется).
    А вообще задача состоит в том, чтобы транскрипцию сделать. На входе арабская строка, а на выходе - русская.
     
  2. rustamh

    rustamh Гость

    Вот, один добрый человек сказал мне так сделать:

    нужно использовать не Asc и Chr, а AscW и ChrW
    Смотри код ниже:
    Для примера на новом листе Excel введи слово в нужной кодировке, и оставь эту ячейку активной
    альше запускаешь макрос smile.gif и буквы слова напечатаются в ячейках, и в последней ячейке столбца распечатается копия слова.

    Sub Letters()

    Dim str As String
    Dim i As Integer
    Dim lngCode As Long
    Dim s1 As String

    'читаем активную ячейку
    str = ActiveCell.Value

    'идем по каждой букве
    For i = 1 To Len(str)
    'получаем юникодовский код
    lngCode = AscW(Mid(str, i, 1))
    ' и печатаем букву в следующей строке
    ActiveCell.Offset(i + 1).Value = ChrW(lngCode)
    s1 = s1 & ChrW(lngCode)
    ' формируем строку-копию (для проверки)
    Next i

    'и печатаем в последней строке
    ActiveCell.Offset(i + 1).Value = s1
    End Sub
     
Загрузка...

Поделиться этой страницей