Visual Basic for Applications
uređuje Dragan Grbić

Bookmark and Share
Matična strana sajta
  Novo na sajtu
  Mapa sajta
  Beleške
  Kontakt
  Pretraga MSKB

 Blog Praktikuma
  RSS feed
  P@W @Tw

  Izvezi stranicu u PDF
 
Office Praktikum

VBA: ima još...
 


Skoro svakodnevno slušamo
  Radio Paradise:
  eklektični muzički online radio bez reklama!
 

 
       

Sponzori sajta

SBB CS 1.6 game server: 82.117.200.1
 
Connectivity by SBB

 


 

Informacije

NOVOSTI

I još dva nova priloga o Excelu
Novi prilozi o Wordu
Novi i prilozi u temi "razno o Officeu"
Novi članci o novostima u Officeu 2010!

SADRŽAJI ZA PREUZIMANJE

Lokalizacija Total Commandera 7.51Obe jezičke školjke za popularni program na srpskom sad funkcionišu u bilo kojoj varijanti Windowsa!
RNDalica.ExcelDodatak za Excel 2007/2010 za generisanje slučajnih podataka!
YuConv.ExcelDodatak za Excel 2007/2010 za konverziju pisama!
YuConvNetDodatak za Word 2007/2010 za konverziju pisama i kodnih rasporeda!

SKREĆEMO PAŽNJU

Kako pretraživati MSKB
a pronaći ćete i još mnogo novih sadržaja...

KONTAKT

Da li znate za pravila koja važe pri kontaktu sa nama? Molimo vas da se obavestite o tome!
 
POZIVAMO VAS

i prenesite svoja iskustva. Najbolji prilozi će biti objavljeni.

  (C) 2000-2010 Praktikum na Webu
 

Ćirilični stringovi u VBA

Nivo:  NIVO 2 - klinite za objašnjenje


VBA odbija da radi direktno sa ćiriličnim stringovima. Nema druge, nego da se formira jezgro "pseudo-slova" - promenljivih kojima ćete moći da formirate string.

Nedavno sam bio u prilici da na svojoj koži osetim problem rada sa stringovima u Unicode ćirilici u VBA (reč je o ispisu broja slovima u Excelu, pogledajte prilog). Prosto, nemoguće je da promenite tastaturu, a potom da ispišete ćirilični string, jer VBE to ne prihvata.

Nije bilo druge, nego da formiram tabelu promenljivih koje će interpretirati ćirilična slova. Za tu svrhu, poslužio sam se "programerskim lopovlukom" i preuzeo tabelu kodova Unicode ćiriličnih slova iz sistema makroa YUConv() kolege Dragana Vračara. Rezultat je sledeća tabela:

' velika 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 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)

Ovo jezgro je već primenjeno u makrou SlovimaC(broj) koji možete naći u Download zoni Praktikuma. Ukratko, primena ovoga je jednostavna: ako treba kroz VBA modul negde u dokumentu ispisati string 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 - i teško da ima drugog izbora.

U Excelu ćete string iz VBA modula ispisati ovako:

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

a u Wordu:

Selection.TypeText Text:=txtPrakC

i tako dalje...

UPOZORENJE: možete skratiti stringove na dva (tri) znaka, ali bolje nemojte: ako skinete donju crtu, "malo ćirilično e" će se pretvoriti u VBA klauzulu Me koja se odnosi na aktuelni objekat modula.
 

 

  (C) 2000-2010 Praktikum na Webu

novembar 2000.


 
 

Vrh stranice  Prethodna stranica  Naslovna strana  Mapa sajta  Pretraga

AFORIZAM ZA DANAS OVIH DANA SLUŠAMO...

Copyright © Praktikum na Webu, 2000-2010; Valinor Design; sva prava pridržana.