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

Još o Excelu
 


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
 

Poziv standardnih dijaloga iz VBA

Nivo:  NIVO 4 - klinite za objašnjenje


Izrada aplikacije u Excelu će vas kad-tad dovesti do potrebe da programirate i standardne dijaloge. To i nije neki problem, osim što je prateća dokumentacija u Helpu pomalo škrta.

Svaki standardni dijalog Excela se može pozvati iz VBA modula. U VBA postoji kolekcija objekata dijaloga Application.Dialogs, a metodom .Show dijalog se prikazuje. Primer poziva standardnog dijaloga je:

Application.Dialogs(xlDialogSaveAs).Show

Ovi pozivi imaju i niz opcionih argumenata koji su ekvivalent popune dijaloga. Recimo, može se napisati:

Application.Dialogs(xlDialogOpen).Show ("troskovi.xls")

U ovom slučaju, u polju za ime datoteke će se naći ime navedene datoteke, a dijalog će i dalje čekati na konačnu akciju korisnika.

Lista konstanti za poziv svih oko 250 dijaloga Excela i njihovih opcionih argumenata se može naći u Help sistemu Excela: potražite referencu Built-In Dialog Box Argument Lists. Nažalost, argumenti su prilično loše (čitaj: nikako) dokumentovani, pa preostaje muka oko traženja varijanti poziva dijaloga. Trud bi mogao da se isplati: programiranjem standardnih dijaloga, integrisano rešenje u Excelu može pružiti utisak potpune slobode korisnika, a da se pritom ostvari fina kontrola svih aktivnosti.

U međuvremenu, pomozimo makar sa par detalja.

VBA omogućuje da definišete ponašanje dijaloga. Recimo, ako je potrebno da otvorite neku radnu svesku, makro će glasiti:

Sub OtvoriFajl()
Dim fajl As String
fajl = Application.GetOpenFilename()
If fajl <> "False" Then
    Workbooks.Open fajl
Else
    ' pritisnut je Cancel
End If
End Sub

Ako je potrebno suziti izbor datoteka za otvaranje, kao argument se navodi tekst koji postoji u polju Files of type u dijalogu. Na primer:

fajl = Application.GetOpenFilename("Text Files (*.txt),*.txt")

Sasvim slično funkcioniše i metoda GetSaveAsFilename; detaljnu sintaksu i primer pogledajte u Helpu Excela.

Postoji i opšti način za poziv standardnih dijaloga. Red makroa koji otvara dijalog Open može da glasi:

Application.Dialogs(xlDialogOpen).Show

Ovde je upotrebljena konstanta iz VBA biblioteke za Excel: sve konstante su oblika xlDialogIme. Help sadrži kompletnu listu ovih konstanti. Posebnu pažnju treba obratiti na argumente poziva: njima se sadržaj dijaloga forsirano puni, pa korisnik samo treba da klikne na OK; to je idealan princip da rasteretite korisnika od zamornog biranja opcija. Evo par primera:

Application.Dialogs(xlDialogFormatFont). _
   Show("Andale Mono", 14)

Application.Dialogs(xlDialogSaveAs). _
   Show("pass.xls", , "lozinka")

 

  (C) 2000-2010 Praktikum na Webu

PC 39, PC 49


 
 

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.