[ ikulpinac @ 14.09.2006. 18:21 ] @
Help me, please

Da li neko moze da mi pomogne oko koda za konverziju latinice u cirilicu u Visual Basic-u 6. Treba da u template ugovora napravljenog u Word-u, programom povucem podatke iz baze na odredjena polja ugovora i to je ok,radi, ali ugovor je na cirilici pa moram i podatke da prikazem tako, a to nisam uspela?

[Ovu poruku je menjao ikulpinac dana 14.09.2006. u 19:33 GMT+1]
[ Jpeca @ 15.09.2006. 07:31 ] @
U download sekciji praktikuma naći ćeš YuConv - makro koji vrši konverziju kodnih rasporeda, pa između ostalog i latinice u ćirilicu (http://www.praktikum.co.yu/office/word/wd_001.htm). Kod je otvoren pa pošto barataš sa VB nadam se da ćeš se lako snaći da ga prilagodiš za svoju potrebu. Pošto je reč o VBA kod se može bukvalno prepisati u VB6, pod uslovom da se uključila odgovarajuće reference i instancirala Word.
Rešenje može da bude da startuješ ovu proceduru zamene latinice u ćirilicu nakon što si popunila obrazac - brži način ili da napraviš svoju funkciju koja zadati string pretvara u ćirilicu pre nego što popuniš obrazac - ovo mi se čini elegantnije i univerzalnije rešenje.
[ timmy @ 15.09.2006. 11:56 ] @
Mislim da je bolje resenje ono koje nudi sam Microsoft, a to je besplatni alat
"Microsoft Transliteration Utility" a koji mozes instalirati direktno sa MS weba.

Ako se dobro secam prednost je u tome sto moze da "preslovljava" kako to oni
prevode na srpski i Header/Footer i textboxove...

Pogledaj na:
http://www.microsoft.com/downl...45c37ce947c&DisplayLang=en
[ Jpeca @ 15.09.2006. 13:47 ] @
Nisam koristio, pa ne želim da polemišem- sigurno da ima određenih prednosti. Samo informacija da u aktuelnoj verziji YUConv podržana konverzija i u okviru Header/Footera, Fusnota, Shape Oblika.

Razlog zašto sam preporučio YUConv je mogućnost da se iskoristi gotov kod i preradi za sopstvene potrebe što u slučaju Microsofta nije moguće. Evo funkcije koja pretvara latinicu (unicode) u ćirilicu(unicode). Može se koristiti i iz Excela - kao dopuna postojećih funkcija ukoliko nekom treba.

Code:

Function ToCiril(tekst As String) As String
' Pretvara latinicni tekst u cirilicu
' P.Jovanovic 15/09/06 na osnovu YUSCII-UniChar by  Nenad Božović

Dim Latinica As String
Dim Cirilica As String
Dim i As Integer
Dim k As Integer
Dim cTekst As String
Dim slovo As String
Dim LatLjNjDz
Dim CirLjNjDz

Latinica = "abcdefghijklmnoprstuvzABCDEFGHIJ" & _
           "KLMNOPRSTUVZ" & "š" & ChrW(263) & ChrW(273) & _
           ChrW(382) & ChrW(269) & "Š" & ChrW(262) & ChrW(272) & _
           ChrW(381) & ChrW(268)
Cirilica = ChrW(1072) & ChrW(1073) & ChrW(1094) & ChrW(1076) & _
           ChrW(1077) & ChrW(1092) & ChrW(1075) & ChrW(1093) & _
           ChrW(1080) & ChrW(1112) & ChrW(1082) & ChrW(1083) & _
           ChrW(1084) & ChrW(1085) & ChrW(1086) & ChrW(1087) & _
           ChrW(1088) & ChrW(1089) & ChrW(1090) & ChrW(1091) & _
           ChrW(1074) & ChrW(1079) & ChrW(1040) & ChrW(1041) & _
           ChrW(1062) & ChrW(1044) & ChrW(1045) & ChrW(1060) & _
           ChrW(1043) & ChrW(1061) & ChrW(1048) & ChrW(1032) & _
           ChrW(1050) & ChrW(1051) & ChrW(1052) & ChrW(1053) & _
           ChrW(1054) & ChrW(1055) & ChrW(1056) & ChrW(1057) & _
           ChrW(1058) & ChrW(1059) & ChrW(1042) & ChrW(1047) & _
           ChrW(1096) & ChrW(1115) & ChrW(1106) & ChrW(1078) & _
           ChrW(1095) & ChrW(1064) & ChrW(1035) & ChrW(1026) & _
           ChrW(1046) & ChrW(1063)
LatLjNjDz = Array("LJ", "Lj", "lj", "NJ", "Nj", "nj", _
                  "D" & ChrW(381), "D" & ChrW(382), "d" & ChrW(382))
CirLjNjDz = Array(ChrW(1033), ChrW(1033), ChrW(1113), ChrW(1034), _
                ChrW(1034), ChrW(1114), ChrW(1039), ChrW(1039), _
                ChrW(1119))


cTekst = tekst ' Posle zamenje LJ, NJ
For i = 0 To UBound(LatLjNjDz)
        cTekst = Replace(cTekst, LatLjNjDz(i), CirLjNjDz(i))
Next i

For i = 1 To Len(cTekst)
      slovo = Mid(cTekst, i, 1)
      k = InStr(1, Latinica, slovo)
      If k > 0 Then
        Mid(cTekst, i, 1) = Mid(Cirilica, k, 1)
      End If
Next i
ToCiril = cTekst
           
           
End Function





[Ovu poruku je menjao Jpeca dana 15.09.2006. u 15:54 GMT+1]
[ Gix_ @ 20.09.2006. 23:39 ] @
Pozdrav za sve

Jabih bio zainteresovan za ovu funkciju u excelu me nazalost nikako da uspem
daje postavim u macro comandi , nisam bas neki veliki specijalista sa VB-om
Ako neko moze dami pomogne ?
Sa zahvaljenjem unapred
[ Jpeca @ 21.09.2006. 07:36 ] @
Evo ovde imaš već objašnjeno http://www.elitesecurity.org/t194060-0#1222614 (Koraci 1 do 4).
Ukoliko hoćeš da ti funkcija bude dostupna iz bilo koje Excel radne sveske treba je ubaciti u personal.xls radnu svesku vidi temu na praktikumu: http://www.praktikum.co.yu/office/excel/xl_062.htm

Imaj na umu da je ovo funkcija - a ne makro. Pozivaš je kao i svaku drugu funkciju iz dijaloga Insert Function, nalazi se u kategoriji User Defined.
[ Gix_ @ 21.09.2006. 20:41 ] @
Ok ukapiraosam, nije jednostavno dase razumemo jer ja koristim
office 2003 na Francuskom jeziku . ( Ok Engleski je glavni me treba ga dobro poznavati )
U svakom slucaju hvala na pomoci
[ rgdrajko @ 18.10.2006. 16:36 ] @
Preko googla potrazi YU konvertor 98e.doc koji u sebi sadrzi dva makroa i vrsi konverziju latinice u cirilicu i obratno takodje sadrzi i CharConv makro. Najbolje je da nakon te konverzije kliknes i na makro charconv i konvertujes iz Unichar u Yuscii.
[ gogi100 @ 23.08.2018. 20:19 ] @
Meni ova funkcija treba u excel vba, ali za sledecu situaciju imam inputbox za unos cirilicnog teksta u header. Kad izvrsim takav unos pojavljuju mi se ?????. Da li ovu funkciju mogu iskoristiti za moj slucaj(vba verovatno cirilicu prebaci u ansi character set, a treba mi utf8)
[ bokinet @ 23.08.2018. 21:10 ] @
https://www.elitesecurity.org/t500125-0#3850391
[ bokinet @ 23.08.2018. 22:27 ] @
Uz vec dati link ka delu problema oko latinice i cirilice u VBA.

Ovo vazi i za VB i za VBA.

https://www.elitesecurity.org/t500125-0#3850391


U nastavku primer koda koji se odnosi na temu koju sam naveo u nastavku.

Vrednost polja(2,3) je ime i prezime napisano cirilicom sto je kao uzorak dao @gogi100 u okviru navedene teme i linku.

Code:



Sub test()

    Dim r As String
    
    r = ""
    
    r = InputBox("Molimo vas unesite vase ime i prezime:", "Unos imena i prezimena", Cells(2, 3))
    
    r = Trim(r)
    
    If Len(r) > 0 Then
        
        MsgBox "Uneto ime i prezime je" & vbCrLf & r, vbInformation
        
    End If
    
End Sub