BIZIT 11 - prvi dan

PC Savet: Ćirilični stringovi u VBA

821_Cirilica_bre_Srbija Kontrola ćirilice u VBA je, naizgled, nemoguća: ne možete da promenite tastaturu, a potom da ispišete ćirilični string, jer VBE to ne prihvata. Nema druge, nego da se formira jezgro "pseudo-slova" – promenljivih kojima ćete moći da formirate string.

Moraćete da formirate kolekciju promenljivih koje će interpretirati ćirilična slova. Za tu svrhu, možete se poslužiti "programerskom reciklažom", uzimajući odgovarajuće kodove ćiriličnih Unicode slova iz sistema makroa YUConv() za Word. Taj deo listinga dat je na slici; nemojte štedeti na imenima, skraćujući ih: ako skinete donju crtu, "malo ćirilično e" će se pretvoriti u VBA klauzulu Me koja se odnosi na aktuelni objekat modula.

Primena je jednostavna: ako treba kroz VBA modul negde u dokumentu ispisati tekst Praktikum ćirilicom, formirajte ga ovako:

txtPrakC = v_p & m_r & m_a & m_k & _

m_t & m_i & m_k & m_u & m_m

Jeste, malo je rogobatno, ali je konzistentno… a drugog izbora nema.

U Microsoft Excel-u ćete string iz VBA modula ispisati ovako:

Activesheet.Range("A1").Value = txtPrakC

a u Word-u:

Selection.TypeText Text:=txtPrakC

Ćirilični tekst u VBA modulu

'
' velika ćirilična slova
' azbučni raspored
'
v_a  = ChrW(1040):  v_b  = ChrW(1041)
v_v  = ChrW(1042):  v_g  = ChrW(1043)
v_d  = ChrW(1044):  v_dj = ChrW(1026)
v_e  = ChrW(1045):  v_zz = ChrW(1046)
v_z  = ChrW(1047):  v_i  = ChrW(1048)
v_j  = ChrW(1032):  v_k  = ChrW(1050)
v_l  = ChrW(1051):  v_lj = ChrW(1033)
v_m  = ChrW(1052):  v_n  = ChrW(1053)
v_nj = ChrW(1034):  v_o  = ChrW(1054)
v_p  = ChrW(1055):  v_r  = ChrW(1056)
v_s  = ChrW(1057):  v_t  = ChrW(1058)
v_cc = ChrW(1035):  v_u  = ChrW(1059)
v_f  = ChrW(1060):  v_h  = ChrW(1061)
v_c  = ChrW(1062):  v_ch = ChrW(1063)
v_dz = ChrW(1039):  v_sh = ChrW(1064)
'
'
' mala ćirilična slova
' azbučni raspored
'
m_a  = ChrW(1072):  m_b =  ChrW(1073)
m_v  = ChrW(1074):  m_g =  ChrW(1075)
m_d  = ChrW(1076):  m_dj = ChrW(1106)
m_e  = ChrW(1077):  m_zz = ChrW(1078)
m_z  = ChrW(1079):  m_i =  ChrW(1080)
m_j  = ChrW(1112):  m_k =  ChrW(1082)
m_l  = ChrW(1083):  m_lj = ChrW(1113)
m_m  = ChrW(1084):  m_n =  ChrW(1085)
m_nj = ChrW(1114):  m_o =  ChrW(1086)
m_p  = ChrW(1087):  m_r =  ChrW(1088)
m_s  = ChrW(1089):  m_t =  ChrW(1090)
m_cc = ChrW(1115):  m_u =  ChrW(1091)
m_f  = ChrW(1092):  m_h =  ChrW(1093)
m_c  = ChrW(1094):  m_ch = ChrW(1095)
m_dz = ChrW(1119):  m_sh = ChrW(1096)
'

Izvor: PC 1000

Facebook komentari:
Računari i Galaksija
Tagovi: , ,