_______________________________________ ___/___ Ime i prezime
br. ind.
PROGRAMIRANJE KROZ APLIKACIJE II kolokvijum
1. (1 poen) Objasniti ulogu input boksa. Koji tip podatka vraća
input boks?
2. (1 poen) Navesti naredbu kojom forma Forma1 nestaje sa
ekrana, ali ostaje u memoriji. 3. (1 poen) Čemu služi metoda
GetOpenFilename?
4. (2 poena) U folderu C:\Temp se nalazi tri Word fajla, čija su
imena AAA.doc, BBB.doc i CCC.doc. Odrediti sadržaj stringa S nakon
izvršenja sledećih naredbi. Kratko obrazložiti. Dim S as String S =
Dir("C\Temp\*.doc") S = Dir S = Dir
5. (2 poena) Što se postiže sljedećom naredbom? Što je #1 u toj
naredbi?
Open "C:\ABCDE.txt" For Input As #1
6. (3 poena) Aktivni Word dokument sadrži jednu rečenicu - “Nema
dana za megdana”. Što će biti prikazano message boksom na kraju
datog koda? Obrazložiti. Dim R As Range, S As String S = "" For
Each R In ThisDocument.Characters If R Like "[bcdeg]" Then S = S
& R & “+” End If Next MsgBox S
7. (4 poena) Napisati VBA proceduru koja će na kraj aktivnog
dokumenta dopisati tabelu koja ima jednu vrstu i tri kolone. U prvu
ćeliju te tabele upisati broj pasusa (paragrafa) u tom dokumentu, u
drugu ćeliju upisati prvu riječ dokumenta, i u treću ćeliju upisati
string “Virpazar”.
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten TextBiće ispisano: e+d+e+g+d+Prolazi se redom
kroz string i na pozicijama gdje su slova b,c,d,e,g karakter se
smiješta u novi string S, nakon svakogdodavanja karaktera dodaje se
i znak + što je naznačeno u petom redu koda.
ShAkETypewritten Text
ShAkETypewritten TextNaredba otvara fajl ABCDE.txt. For Input
označava da će iz tog fajla da budu očitane neke vrijednosti. #1
predstavlja broj fajla (broj između 1 i 511); još se naziva i
handle fajla.
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten TextSub Sedmi()Dim R As Range, T As Table, BrP
As Integer, P As ParagraphBrP = 0For Each P In
ActiveDocument.Range.Paragraphs BrP = BrP + 1NextSet R =
ActiveDocument.ContentR.Collapse wdCollapseEndSet T =
ThisDocument.Tables.Add(R, 1, 3)T.Cell(1, 1).Range.Text = "Broj
paragrafa je: " & BrPT.Cell(1, 2).Range.Text =
ActiveDocument.Words(1)T.Cell(1, 3).Range.Text = "Virpazar"End
Sub
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten TextInput boks predstavlja jednostavnu
korisničku formu koja korisniku omogućava da unese jedan podatak.
Vraćeni podatak je tipa string, pa ga je potrebno dodatno obraditi
ukoliko želimo da ga tretiramo drugačije.
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten TextForma1.Hide
ShAkETypewritten Text
ShAkETypewritten TextMetod GetOpenFilename se koristi za
dobijanje imena selektovanog fajla, uključujući i put do njega.
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten TextSadržaj stringa će da bude CCC.doc. Prvi
string kaže da se listaju svi dokumenti sa ekstenzijom .doc iz
C:\Temp i uzima se naziv prvog fajla sa liste. Zatim string uzima
drugi fajl BBB.doc a zatim treći CCC.doc gdje se kod i
završava.
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text ShAkE
ShAkETypewritten Text
ShAkEText BoxZa sekvencijalni upis u tekstualni fajl koristimo
naredbe Write # i Print #. Naredba Write # služi za upis niza
vrednosti. Upisane vrednosti su razdvojene zarezima, dok se
stringovi nalaze pod znacima navoda. Podaci upisani u fajl pomoću
naredbe Write # se obično čitaju naredbom Input #.
8. (5 poena) Napisati VBA proceduru koja prolazi kroz sve riječi
aktivnog dokumenta i bolduje one riječi koje imaju tačno 4 mala
slova. Na kraju procedure, pomoću message boksa javiti koliko je
bilo takvih riječi. Pomoć: Boldovanje prve riječi se vrši na
sljedeći način Words(1).Font.Bold = True.
9. (6 poena) Napisati proceduru KarCif kojom se prolazi kroz sve
rečenice dokumenta i u rečenicama određuje broj
karaktera koji predstavljaju cifre. • Ukoliko rečenica ne sadrži
nijednu cifru, potrebno je boldovati prvu riječ te rečenice. •
Ukoliko rečenica sadrži ne više od 5 cifara, potrebno je podvući
čitavu rečenicu. • Ukoliko rečenica sadrži više od 5 cifara,
postaviti čitavu rečenicu u italik.
Pomoć: Podvlačenje prve rečenice se vrši na sljedeći način
Sentences(1).Font.Underline = True. Podgorica, 6.12.2010.
PREDMETNI NASTAVNIK
ShAkETypewritten TextSub KarCIf()Dim S As Range, BR As Integer,
I as IntegerFor Each S In ActiveDocument.SentencesBR = 0For I = 1
To Len(S.Text)If Mid(S.Text, I, 1) Like "[0-9]" ThenBR = BR + 1End
IfNextIf BR = 0 ThenS.Words(1).Font.Bold = TrueElseIf BR 5
ThenS.Font.Italic = TrueEnd IfNextEnd Sub
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten TextSub Osmi()Dim W As Range, BrS As Integer,
BrR as IntegerDim I as IntegerBrR = 0For Each W In
ActiveDocument.WordsBrS = 0 For I = 1 To Len(W.Text) If Mid(W.Text,
I, 1) Like "[a-z]" Then BrS = BrS + 1 End If Next If BrS = 4 Then
W.Font.Bold = True BrR = BrR + 1 End IfNextMsgBox "Ukupno takvih
rijeci je: " & BrR & "."End Sub
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkEText BoxMsgBox - omogućava jednostavan način prikaza poruke
korisniku, pri čemu od korisnika možemo dobiti i povratnu
informaciju. Od argumenata jedino je prompt (tekst koji se
prikazuje u boksu) obavezan argument.Korisnička forma se prikazuje
pomoću metode Show objekta UserForm. Npr. Forma1.Show će prikazati
Forma1.VBA poseduje i naredbu Load pomoću koje se vrši učitavanje
forme u memoriju, na sledeći način: Load NazivForme. Ipak, ovako
učitana forma nije vidljiva dok se ne pozove metod Show.Korisničke
forme mogu biti “modeless”, što znači da korisnik može pristupiti
radnoj svesci, ili aplikaciji, bez zatvaranja forme. Ovaj način
rada se postiže na sledeći način: NazivForme.Show vbModelessZa
zatvaranje forme se može koristiti naredba Unload. Unload
NazivForme (ako piše Unload Me - Me je ključna reč VBA pomoću koje
forma referencira samu sebe.Dugme koje se dodaje paleti alatki je
VBA objekt CommandBarButton. Deklaracija dugmeta i dodavanje paleti
se vrši na sledeći način:Dim Dugme As CommandBarButtonSet Dugme =
Application.CommandBars("Standard"). Controls.Add (
Type:=msoControlButton, Temporary:=True)
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkETypewritten Text
ShAkEText BoxWith Dugme.Style = msoButtonCaption.Caption =
"Dugme".OnAction = "Procedura"End WithOva sekvenca bi definisala
dugme samo sa tekstom (osobina Style), tekst koji će biti ispisan
na dugmetu (osobina Caption), kao i proceduru koja se poziva
pritiskom na dugme (osobina OnAction).Ime procedure se navodi u
obliku stringa.Objekt FileDialog se dobija pomoću FileDialog
osobine objekta Application. Ova osobina ima jedan argument,
fileDialogType, koji definiše tip dijaloga i ima četiri moguće
vrijednosti:· msoFileDialogFilePicker - dijalog za odabir fajla;·
msoFileDialogFolderPicker - dijalog za odabir foldera;·
msoFileDialogOpen - dijalog za otvaranje fajla;·
msoFileDialogSaveAs - dijalog za snimanje fajla.
ShAkEText BoxPomoću funkcije Dir dobijamo string koji
predstavlja ime fajla ili foldera koje odgovara određenom obrascu,
atributu fajla ili labeli drajva. Ova funkcija ima dva opciona
argumenta i njena sintaksa je: ImeFajla = Dir(pathname, attributes)
gdje je pathname string koji određuje ime fajla (može uključiti i
put do njega), dok je attributes VBA konstanta ili broj koji
određuje atribute fajla.Ukoliko Dir ne pronađe traženi fajl, vraća
prazan string. Ova se osobina može iskoristiti za provjeru da li
postoji traženi fajl. Za specificiranje više fajlova, u funkciji
Dir se mogu koristiti džoker karakteri * (mijenja proizvoljan broj
karaktera) i ? (mijenja jedan karakter).Kod VBA postoje tri naredbe
za čitanje podataka iz tekstualnog fajla:I nput - funkcija za
čitanje određenog broja karaktera iz fajla; Input # - čitanje
podataka iz fajla i dodeljivanje tih podataka promenljivim koje su
odvojene zarezima; Line Input # - čitanje čitave linije podataka.
Funkcija Input čita određeni broj karaktera iz specificiranog fajla
i vraća string pročitanih karaktera. Npr. Procitano = Input(number,
#filenumber) gdje je number broj karaktera koji se čita, a
filenumber je handle za dati fajl.Čitanje čitavog fajla odjednom:
Procitano = Input(LOF(filenumber), #filenumber), LOF funkcija koja
vraća broj B u fajlu.