Страницы: 1
RSS
Возможна ли замена Диакритических знаков через vba
 
Господа приветствую.
Подскажите как выйти из ситуации.
Возможно ли через стандартную а может и нестандартную замену символов, получить читабельные символы.
В тексте
Код
1
<p class=left><span lang=EN-GB  id=capskr>vi&#7693-ambayati</span><span lang=EN-GB>  v PPP <span  id=capskr>vi&#7693-ambita</span>imitate, equal (A)- mock, cheat, deceive.</span></p></p></td><td width="200">

заменяя через vba, записано макрорекодером
Код
1
2
3
4
5
6
7
Cells.Replace What:="&#7771-", Replacement:="?", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Cells.Replace What:="&#7693-", Replacement:="?", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
   'и тд.

вместо ? получить реальные значения.
ṛ | ṣ | ṃ | é | Ā | ñ |ḍ | ṭ | á | í | ū | ī | ś | ó | ṇ | √ | ḷ |ā | – | ú | Ś |ḥ | © | ṛ | ’ |

при копипасте, получаем нормальный вид, но каждый раз копипастить зло.
PS таблички надо бы подчинить.
 
Используйте в коде chrw(номер)
Номера у Вас есть - например ṛ = ChrW(7771)
 
Да, возможна.
Буквально вчера такое сделал:
http://excelvba.ru/code/ReplaceUnicode

Вам осталось только добавить цикл по ячейкам (лучше предварительно считать значения ячеек в массив),
и немного подправить шаблон замены (вместо \u в вашем случае будет &#)
 
Благодарю!
 
Цитата
EducatedFool пишет:
(вместо   \u   в вашем случае будет   &#  )
Попробовал, загрузил, получил вместо ? японские иероглифы, но никак не диакитика).
Подскажите где лаж

Код
1
2
3
4
5
6
7
蜰 <spanid=cs>皓amb</span>, 舠mock舡
蜰 <spanid=cs>皓val</span>, 舠mix舡
蜰 <spanid=cs>睱c</span>
蜰 <spanid=cs>皓ʙ</span>, 舠fly舡
蜰 <spanid=cs>睱d</span>, <spanid=cs>ard</span>, 舠stir, dissolve舡
蜰 <spanid=cs>睱t</span>, <spanid=cs>art</span>, 舠pursue舡
蜰 <spanid=cs>睱dh</span>, 舠thrive舡



Картинка удалена модератором, так как ссылка не действительна
 
Код
1
2
     charcode& = Val(Replace(code$, "&#", "&H"))    ' получаем код символа
           charcode& = Val(Replace(code$, "&#", ""))    ' получаем код символа

решает проблему.
Цитата
Hugo пишет:
Используйте в коде chrw(номер)
Номера у Вас есть - например ṛ = ChrW(7771)
Спасибо.
 
Ответил в комментах у себя на сайте:
http://excelvba.ru/code/ReplaceUnicode#comment-2132
 
господа, я ничего не могу понять. я пытаюсь заменить в строке символ на диакритический знак, но почему-то получаю вместо u с макроном (ū) простую u.
Подскажите, что я делаю не так?
Скрытый текст
 
Всё работает - на листе в D2 Su_  и где-то =Convert_IAST_HK_name(D2), код в стандарном модуле.
Изменено: Hugo - 01.10.2013 12:35:35
Страницы: 1
Читают тему
Наверх
Loading...