programiranje kroz aplikacije ii kolokvijum...ime i prezime br. ind. programiranje kroz aplikacije...

2
_______________________________________ ___/___ 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”.

Upload: others

Post on 20-Oct-2020

6 views

Category:

Documents


2 download

TRANSCRIPT

  • _______________________________________ ___/___ 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.