1

Тема: Нужен маркос для конвертинга транслита в санскрит.

Доброго времени суток.
Господа, прощу помощи в реализации ибо совсем не знаю с какой стороны подойти.
Нужен макрос который будет конвертировать слово выделенное в ворде в санскрит.
Сам алгоритм конвертинга прикреплю ниже. Он состоит из последовательного применения различного рода замен, в том числе и непосредственно через регулярные выражения.
В идеале, нужно так, выделяем слово в ворде, и нажимаем например F8 слово конвертится и вставляется слева от выделеного разделяясь с ним пробелом.
Буду очень признателен за помощь. Возможно вознаграждение.
Во вложении рабочий вариант конвертера для программы Em editor но его можно легко, кроме регулярок переложить на vba.

Post's attachments

trans2dev.vbee 21.01 Кб, 3 скачиваний с 2013-06-30 

You don't have the permssions to download the attachments of this post.

2

Re: Нужен маркос для конвертинга транслита в санскрит.

Как воплотить саму оболочку? Кто-то может написать?
конвертор я напишу, а вот оболочку

3

Re: Нужен маркос для конвертинга транслита в санскрит.

В вашем случае, оболочка не нужна. Достаточно просто макроса, помещенного в шаблон Normal. Берете код, что приведен ниже, вставляете в Normal, дописываете свои замены, назначаете макросу сочетание клавиш Word. Макрос:

Public Sub Выбранный_текст_в_санскрит()

    ' читаем выбранный текст
Dim S As String
    
    S = Selection.Text
    If VBA.Len(S) <= 0 Then Exit Sub
    
    ' замены в тексте: посимвольно
    ' - замена 1:
    '   1111 - шестнадцатеричный код искомого символа
    '   2222 - шестнадцатеричный код символа на замену
    S = VBA.Replace(Expression:=S, _
                    Find:=ChrW$(&H1111), _
                    Replace:=ChrW$(&H2222), _
                    Compare:=vbBinaryCompare)
    ' - замена 2
    S = VBA.Replace(Expression:=S, _
                    Find:=ChrW$(&H1111), _
                    Replace:=ChrW$(&H2222), _
                    Compare:=vbBinaryCompare)
    
    ' замены в тексте: Regular Expression
Dim RE As Object

    Set RE = CreateObject("VBScript.RegExp")
    RE.Global = True
    RE.IgnoreCase = False
    RE.MultiLine = False
    ' - замена 1
    RE.Pattern = "маска поиска 1"
    S = RE.Replace(S, "замена 1")
    ' - замена 2
    RE.Pattern = "маска поиска 2"
    S = RE.Replace(S, "замена 2")
    '
    Set RE = Nothing
    
    ' вставляем результат в документ
    Selection.InsertAfter Text:=Chr$(32) & S
    
End Sub
Макросы под заказ и готовый пакет - mtdmacro.ru

4

Re: Нужен маркос для конвертинга транслита в санскрит.

Вау, буду пробовать, спасибо огромнейшее.

5

Re: Нужен маркос для конвертинга транслита в санскрит.

Эхх начал воплощать, и столкнулся с проблемой
1 Если у нас есть строка ṡshń
то мы в vba получаем "?shn"
и при такой попытке конвертации, получаем .... ничего

Public Sub Выбранный_текст_в_санскрит()

    ' читаем выбранный текст
Dim S As String
    
    S = Selection.Text
    If VBA.Len(S) <= 0 Then Exit Sub
    
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H7777)), Replace:=(ChrW$(&H347)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H231)), Replace:=(ChrW$(&H347)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H353)), Replace:=(ChrW$(&H347)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H351)), Replace:=(ChrW$(&H7779)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H115) & ChrW$(&H104)), Replace:=(ChrW$(&H7779)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H316)), Replace:=(ChrW$(&H7735)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H343)), Replace:=(ChrW$(&H7771)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H355)), Replace:=(ChrW$(&H7789)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H324)), Replace:=(ChrW$(&H7749)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H7753)), Replace:=(ChrW$(&H7747)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H326)), Replace:=(ChrW$(&H7751)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H7697)), Replace:=(ChrW$(&H7693)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H226)), Replace:=(ChrW$(&H257)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H238)), Replace:=(ChrW$(&H299)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H251)), Replace:=(ChrW$(&H363)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H769)), Replace:=(ChrW$(&H2388)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H768)), Replace:=(ChrW$(&H2387)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H833)), Replace:=(ChrW$(&H2388)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H832)), Replace:=(ChrW$(&H2387)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H225) & ChrW$(&H105)), Replace:=(ChrW$(&H97) & ChrW$(&H105) & ChrW$(&H2388)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H225) & ChrW$(&H117)), Replace:=(ChrW$(&H97) & ChrW$(&H117) & ChrW$(&H2388)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H224) & ChrW$(&H105)), Replace:=(ChrW$(&H97) & ChrW$(&H105) & ChrW$(&H2387)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H224) & ChrW$(&H117)), Replace:=(ChrW$(&H97) & ChrW$(&H117) & ChrW$(&H2387)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H224)), Replace:=(ChrW$(&H97) & ChrW$(&H2387)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H225)), Replace:=(ChrW$(&H97) & ChrW$(&H2388)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H232)), Replace:=(ChrW$(&H101) & ChrW$(&H2387)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H233)), Replace:=(ChrW$(&H101) & ChrW$(&H2388)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H236)), Replace:=(ChrW$(&H105) & ChrW$(&H2387)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H237)), Replace:=(ChrW$(&H105) & ChrW$(&H2388)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H242)), Replace:=(ChrW$(&H111) & ChrW$(&H2387)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H243)), Replace:=(ChrW$(&H111) & ChrW$(&H2388)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H249)), Replace:=(ChrW$(&H117) & ChrW$(&H2387)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H250)), Replace:=(ChrW$(&H117) & ChrW$(&H2388)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H114) & ChrW$(&H805)), Replace:=(ChrW$(&H7771)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H341) & ChrW$(&H805)), Replace:=(ChrW$(&H7771) & ChrW$(&H2388)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H47) & ChrW$(&H47)), Replace:=(ChrW$(&H2405)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H47)), Replace:=(ChrW$(&H2404)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H109) & ChrW$(&H784)), Replace:=(ChrW$(&H7747)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H784)), Replace:=(ChrW$(&H2305)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H2388) & ChrW$(&H7747)), Replace:=(ChrW$(&H2306) & ChrW$(&H2388)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H2388) & ChrW$(&H7717)), Replace:=(ChrW$(&H2307) & ChrW$(&H2388)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H2387) & ChrW$(&H7747)), Replace:=(ChrW$(&H2306) & ChrW$(&H2387)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H2387) & ChrW$(&H7717)), Replace:=(ChrW$(&H2307) & ChrW$(&H2387)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H688)), Replace:=(ChrW$(&H104)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H700)), Replace:=(ChrW$(&H2365)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H79) & ChrW$(&H7746)), Replace:=(ChrW$(&H2384)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H97) & ChrW$(&H105)), Replace:=(ChrW$(&H2320)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H97) & ChrW$(&H117)), Replace:=(ChrW$(&H2324)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H97)), Replace:=(ChrW$(&H2309)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H257)), Replace:=(ChrW$(&H2310)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H105)), Replace:=(ChrW$(&H2311)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H299)), Replace:=(ChrW$(&H2312)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H117)), Replace:=(ChrW$(&H2313)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H363)), Replace:=(ChrW$(&H2314)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H7771)), Replace:=(ChrW$(&H2315)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H7773)), Replace:=(ChrW$(&H2400)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H7735)), Replace:=(ChrW$(&H2316)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H7737)), Replace:=(ChrW$(&H2401)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H101)), Replace:=(ChrW$(&H2319)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H111)), Replace:=(ChrW$(&H2323)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H107) & ChrW$(&H104)), Replace:=(ChrW$(&H2326) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H107)), Replace:=(ChrW$(&H2325) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H103) & ChrW$(&H104)), Replace:=(ChrW$(&H2328) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H103)), Replace:=(ChrW$(&H2327) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H7749)), Replace:=(ChrW$(&H2329) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H99) & ChrW$(&H104)), Replace:=(ChrW$(&H2331) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H99)), Replace:=(ChrW$(&H2330) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H106) & ChrW$(&H104)), Replace:=(ChrW$(&H2333) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H106)), Replace:=(ChrW$(&H2332) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H241)), Replace:=(ChrW$(&H2334) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H7789) & ChrW$(&H104)), Replace:=(ChrW$(&H2336) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H7789)), Replace:=(ChrW$(&H2335) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H7693) & ChrW$(&H104)), Replace:=(ChrW$(&H2338) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H7693)), Replace:=(ChrW$(&H2337) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H7751)), Replace:=(ChrW$(&H2339) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H116) & ChrW$(&H104)), Replace:=(ChrW$(&H2341) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H116)), Replace:=(ChrW$(&H2340) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H100) & ChrW$(&H104)), Replace:=(ChrW$(&H2343) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H100)), Replace:=(ChrW$(&H2342) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H110)), Replace:=(ChrW$(&H2344) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H112) & ChrW$(&H104)), Replace:=(ChrW$(&H2347) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H112)), Replace:=(ChrW$(&H2346) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H98) & ChrW$(&H104)), Replace:=(ChrW$(&H2349) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H98)), Replace:=(ChrW$(&H2348) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H109)), Replace:=(ChrW$(&H2350) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H121)), Replace:=(ChrW$(&H2351) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H114)), Replace:=(ChrW$(&H2352) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H108)), Replace:=(ChrW$(&H2354) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H7739)), Replace:=(ChrW$(&H2355) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H118)), Replace:=(ChrW$(&H2357) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H347)), Replace:=(ChrW$(&H2358) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H7779)), Replace:=(ChrW$(&H2359) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H115)), Replace:=(ChrW$(&H2360) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H104)), Replace:=(ChrW$(&H2361) & ChrW$(&H2381)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H2381) & ChrW$(&H2309)), Replace:="", Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H2381) & ChrW$(&H2310)), Replace:=(ChrW$(&H2366)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H2381) & ChrW$(&H2311)), Replace:=(ChrW$(&H2367)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H2381) & ChrW$(&H2312)), Replace:=(ChrW$(&H2368)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H2381) & ChrW$(&H2313)), Replace:=(ChrW$(&H2369)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H2381) & ChrW$(&H2314)), Replace:=(ChrW$(&H2370)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H2381) & ChrW$(&H2315)), Replace:=(ChrW$(&H2371)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H2381) & ChrW$(&H2400)), Replace:=(ChrW$(&H2372)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H2381) & ChrW$(&H2316)), Replace:=(ChrW$(&H2402)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H2381) & ChrW$(&H2401)), Replace:=(ChrW$(&H2403)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H2381) & ChrW$(&H2319)), Replace:=(ChrW$(&H2375)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H2381) & ChrW$(&H2320)), Replace:=(ChrW$(&H2376)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H2381) & ChrW$(&H2323)), Replace:=(ChrW$(&H2379)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H2381) & ChrW$(&H2324)), Replace:=(ChrW$(&H2380)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H7747)), Replace:=(ChrW$(&H2306)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H7717)), Replace:=(ChrW$(&H2307)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H7745)), Replace:=(ChrW$(&H2305)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H49)), Replace:=(ChrW$(&H2407)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H50)), Replace:=(ChrW$(&H2408)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H51)), Replace:=(ChrW$(&H2409)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H52)), Replace:=(ChrW$(&H2410)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H53)), Replace:=(ChrW$(&H2411)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H54)), Replace:=(ChrW$(&H2412)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H55)), Replace:=(ChrW$(&H2413)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H56)), Replace:=(ChrW$(&H2414)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H57)), Replace:=(ChrW$(&H2415)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H48)), Replace:=(ChrW$(&H2406)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H124) & ChrW$(&H124)), Replace:=(ChrW$(&H2405)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H124)), Replace:=(ChrW$(&H2404)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H39)), Replace:=(ChrW$(&H2365)), Compare:=vbBinaryCompare)
    S = VBA.Replace(Expression:=S, Find:=(ChrW$(&H176)), Replace:=(ChrW$(&H2416)), Compare:=vbBinaryCompare)

    
    ' вставляем результат в документ
    Selection.InsertAfter Text:=Chr$(32) & S
    
End Sub

Подскажите, что не так.

6

Re: Нужен маркос для конвертинга транслита в санскрит.

сам разобрался, надо было &H убрать.

7

Re: Нужен маркос для конвертинга транслита в санскрит.

И снова, здравствуйте.
Вопрос, как именно сконвертированный текст вставить в нужном шрифте?
Если я добавлю     Selection.Font.Name = "Santipur OT"
то меняет шрифт и у оригинала и у вставляемого, а нужно, то что сконвертили в сантипуре, а то что конвертили, так и оставитью
Спасибо

8

Re: Нужен маркос для конвертинга транслита в санскрит.

Макросы для перекодировки различных транслитераций санскритского текста в санскритский текст и обратно с минимальным числом шагов перекодирования.
внешняя ссылка