Microsoft Office - Razno
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

Razno o Officeu
 


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
 

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-2010 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-2010; Valinor Design; sva prava pridržana.