Цитата: Сохранил в нём rtf документ, потом им же открываю - крякозяблы
Либо, как уже тут сказали, проблемы со шрифтами (скорее всего, их просто нет), либо неверно указан язык.
Чтоб не париться слишком сильно проще прогнать макросик. Например, такой (есть и другие варианты):
Код: Sub MacroENMK()
'
' Macro 02.06.2004 by Georgi Kozinakov, Skopje
' Zabraneto e menuvanje na programot, kako i preprodavanje
' bez znaenje i odobruvanje na avtorot
'
Dim oDocument As Object, oSelections As Object, oSel As Object, oText As Object
Dim oCursor As Object, oVCursor As Object
Dim alpha, omega, mySelection as Object
Dim snot as string, tekst as string
Dim unimk(1 To 63) As Integer
Dim enkod, odg As Integer
Dim k, dolz As Long
Dim sekundi as long
dolz = 0
' translacija na en za -63, a mk e orig
unimk(1) = &H416
unimk(2) = &H410
unimk(3) = &H411
unimk(4) = &H426
unimk(5) = &H414
unimk(6) = &H415
unimk(7) = &H424
unimk(8) = &H413
unimk(9) = &H425
unimk(10) = &H418
unimk(11) = &H408
unimk(12) = &H41A
unimk(13) = &H41B
unimk(14) = &H41C
unimk(15) = &H41D
unimk(16) = &H41E
unimk(17) = &H41F
unimk(18) = &H409
unimk(19) = &H420
unimk(20) = &H421
unimk(21) = &H422
unimk(22) = &H423
unimk(23) = &H412
unimk(24) = &H40A
unimk(25) = &H40F
unimk(26) = &H405
unimk(27) = &H417
unimk(28) = &H428
unimk(29) = &H403
unimk(30) = &H40C
unimk(31) = &H427
unimk(32) = &H5F
unimk(33) = &H436
unimk(34) = &H430
unimk(35) = &H431
unimk(36) = &H446
unimk(37) = &H434
unimk(38) = &H435
unimk(39) = &H444
unimk(40) = &H433
unimk(41) = &H445
unimk(42) = &H438
unimk(43) = &H458
unimk(44) = &H43A
unimk(45) = &H43B
unimk(46) = &H43C
unimk(47) = &H43D
unimk(48) = &H43E
unimk(49) = &H43F
unimk(50) = &H459
unimk(51) = &H440
unimk(52) = &H441
unimk(53) = &H442
unimk(54) = &H443
unimk(55) = &H432
unimk(56) = &H45A
unimk(57) = &H45F
unimk(58) = &H455
unimk(59) = &H437
unimk(60) = &H448
unimk(61) = &H453
unimk(62) = &H45C
unimk(63) = &H447
'
'Dim aLocale As New com.sun.star.lang.Locale
' aLocale.Language = "mk"
' aLocale.Country = "MK"
'
oDocument=thiscomponent
oText = oDocument.Text
'' za cel dokument
''oCursor = oDocument.Text.createTextCursor
''oCursor.gotostart(false)
''oCursor.gotoend(true)
'
' za selektiran tekst, hilite
oVCursor = oDocument.currentcontroller.getViewCursor()
snot=oVCursor.getString()
alpha=oVCursor.getStart()
omega=oVCursor.getEnd()
If len(snot)>0 Then ' ima selektirano: go zemame toa
mySelection = oText.createTextCursorByRange(alpha)
mySelection.goToRange(omega,TRUE)
end if
if len(snot) > 0 then
tekst=mySelection.getString()
end if
'oCursor.CharLocale = aLocale
'Msgbox "uspesno makedonizirano"
'
'' MsgBox "Си избрал за менување во МК: " & Chr(13) & ocursor.string
' MsgBox "Си избрал за менување во МК: " & Chr(13) & tekst
'' dolz = len(ocursor.string)
dolz = len(snot)
beep
odg = MsgBox("Број на знаци за конверзија: " & dolz & Chr(13) & Chr(13) _
& "Кликни на Yes за да се изврши кодна конверзија на " & Chr(13) _
& "текстот што си го селектирал (Внимание! Не селектирај " & Chr(13) _
& "табели, дијаграми, слики ... САМО ТЕКСТ. Исто така НЕ " & Chr(13) _
& "СЕЛЕКТИРАЈ одеднаш повеќе од 65500 знаци. (ова се " & Chr(13) _
& "ограничувања во OpenOffice 1.1.1) " & Chr(13) _
& "Оваа верзија е наменета за брзи конверзии на поголеми" & Chr(13) _
& "текстови и затоа по ""default"" прекодира во Times New Roman " & Chr(13) _
& "фонт и МК unicode кодирање, а вие потоа по желба " & Chr(13) _
& "можете да го замените со сите системски фонтови " & Chr(13) _
& "(Windows/Linux...) наменети за МК кодните страни. " & Chr(13) _
& "Забелешка: во оваа верзија се прекодира: " & Chr(13) _
& "[=Ш ]=Ќ \=Ѓ ^=Ч @=Ж {=ш }=ќ |=ѓ ~=ч `=ж " & Chr(13) _
& "Пребарувањето, сортирањето и др. операции со МК кодирање " & Chr(13) _
& "се многу ""понормални"" од досегашните ASCII симулации. " & Chr(13) _
& "Овој програм го користите ""како што е"" и авторот не " & Chr(13) _
& "одговара за евентуалните штети сторени на вашите податоци. " & Chr(13) & Chr(13) _
& "Автор: Георги Козинаков, Скопје - Македонија " & Chr(13) _
& "e-mail gk@mt.net.mk, тел.2734-637 моб.075 406-097 " & Chr(13) _
& "Цена: US$2.95 по компјутер. Бесплатно за непрофитни фирми." & Chr(13) _
& "························································ " & Chr(13), _
292, "«ENtoMK conversion» ©Georgi Kozinakov, Skopje")
If odg = 6 and dolz > 0 Then ' vrsime konverzija
' tekst = ocursor.string
' ocursor.charfontname = "Arial"
oVCursor.charfontname = "Times New Roman"
sekundi = Timer
For k = 1 To dolz
char = Mid(tekst, k, 1)
enkod = Asc(char)
' MsgBox "знак = " & char & " = " & enkod
If enkod > 63 And enkod < 127 Then
' mkchar = Chr(unimk(enkod - 63))
Mid(tekst, k, 1, Chr(unimk(enkod - 63)))
' MsgBox "MK знак = " & mkchar & " = " & unimk(enkod - 63)
End If
Next k
' go vrakame prekodiranoto
' ocursor.string = tekst
mySelection.setstring(tekst)
sekundi = Timer - sekundi
beep
MsgBox "Готово. (" & sekundi & " секунди)"
Else
MsgBox "Не си избрал конверзија на текстот или си селектирал над 65500 знаци. Чао!"
End If
End Sub