Microsoft Office - Razno
uređuje Dragan Grbić

 Office Praktikum | Mapa sajta 

 
Bookmark and Share
Matična strana sajta
Novo na sajtu
Mapa sajta
Beleške
Knjiga posetilaca
Kontakt

Prethodna stranica
Pretraga sajta
Pretraga MSKB

Blog Praktikuma
RSS feed 
 
Office Praktikum

Razno o Officeu
 


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

   

Sponzori sajta

  Connectivity by SBB
 
Connectivity by SBB

 

Informacije

NOVOSTI
Novi prilog o Wordu
Tri nova autorska članka
Četiri priloga o Accessu
Opis i uputstvo za alatku YuCirLat '08 (Word)

SADRŽAJ ZA PREUZIMANJE
YuCirLat '08 unapređena alatka za konverziju kodnih rasporeda u Wordu

SKREĆEMO PAŽNJU
Beleške: B(l)oga li ti tvoga!- prilog koji će nekog možda čak i da naljuti
Kako pretraživati MSKB
* a pronaći ćete i još mnogo novih sadržaja...

USKORO SERIJA ČLANAKA O OFFICEU 2010

POZIVAMO VAS
* i prenesite svoja iskustva. Najbolji prilozi će biti objavljeni.



  (C) 2000-2009 Praktikum na Webu
 

Kako podeliti string

Nivo:  NIVO 3 - klinite za objašnjenje


U poslednjih nekoliko meseci, više puta sam imao potrebu da se bavim parsiranjem stringova u Excelu i Wordu. VBA makroi koje sam pisao sadržali su razne algoritme prepoznavanja karakterističnih mesta u tekstualnim zapisima, na osnovu čega bi bile izveden određene operacije. Prilično česta pojava u takvim prilikama je potreba deobe nekog zapisa na više elementarnih, poput slučaja kad se u jednom redu nalazi zapis koji treba podeliti u više ćelija neke tabele. Postoji više rešenja tog problema i sva ona zavise od toga kako izgledaju polazni podaci: čest je slučaj da morate sami pronaći neki algoritam podele.

Ukoliko u procesu povezivanja možete da utičete na oblik podataka na polazištu, preporučiću vam jednu vrlo primerenu metodu: definišite neki prepoznatljivi znak koji će sigurno biti jedinstven (ne koristi se nigde u tekstu), postavite ga između podataka kao obeležje za razgraničavanje (delimiter), pa upotrebite način za razdvajanje stringa na više njih koji vidite u jednostavnom primeru u listingu. Funkcija Split deluje veoma lako: zadajete polazni string i znak koji služi kao delimiter; rezultat je niz u kome članovi sadrže delove teksta, a delimiter je odbačen. Prikladan efekat je u tome što ne morate unapred znati koliko članova niz ima, a članovi dužine nula neće biti ignorisani. Tek da pomenem usput: funkcija Join radi posao sa suprotnim dejstvom; proverite njeno dejstvo pokretanjem primera.

Iskoristiću priliku i da vam ukažem pažnju na zamku na koju možete naići kada radite sa nizovima: ukoliko na vrhu modula ne koristite deklaraciju Option Base {0|1} (ovo poslednje znači "nula ili jedan"), podrazumevaće se da n članova niza imaju indekse u opsegu [0,n-1]; jedinica znači da opseg čine brojevi [1,n]. Ako razmenjujete makroe sa drugima, pa dođe do kolizije u ovim deklaracijama, možete izazvati grešku u raznim petljama. Da biste to izbegli, primenite trik koji sam primenio u klauzuli For u primeru: umesto da napišem For i = 0 To n (usput - ne znam kolika je vrednost n, to bih morao da ispitujem), upotrebio sam funkcije LBound i UBound, koje mi vraćaju granične vrednosti indeksa niza delovi.

Sub podela()

' uočite prazno mesto
' između "dva" i "tri"!
tekst = "jedan#dva##tri#četiri"

' rastavljanje:
' string se cepa u niz
delovi = Split(tekst, "#")

' uočite način brojanja u nizu!
For i = LBound(delovi) To UBound(delovi)
   MsgBox delovi(i)
Next

' sastavljanje:
' niz se prebacuje u jedan string
celo = Join(delovi, "@")
MsgBox celo

End Sub

 

  (C) 2000-2009 Praktikum na Webu

PC 120


 
 

Vrh stranice  Prethodna stranica  Naslovna strana  Mapa sajta  Pretraga

AFORIZAM ZA DANAS OVIH DANA SLUŠAMO...

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