300 likes | 550 Views
Visual Basic for Applications ( osnove / uvod ). Blaž Zupan magix.fri.uni-lj.si/ predavanja/ora. VBA. Visual Basic for Applications Varianta Visual Basica, s katerimi pisemo makre in ostalo kodo v Microsoftovih (pa tudi drugih) aplikacijah jezik je le nekoliko drugačen od VB .NET
E N D
Visual Basic for Applications(osnove / uvod) Blaž Zupan magix.fri.uni-lj.si/predavanja/ora
VBA • Visual Basic for Applications • Varianta Visual Basica, s katerimi pisemo makre in ostalo kodo v Microsoftovih (pa tudi drugih) aplikacijah • jezik je le nekoliko drugačen od VB .NET • na voljo so posebni objekti • preko teh dostopamo do aplikacij in dokumentov • GUI gradnikov je nekoliko manj • nič hudega, saj v VBA tipično gradimo enostavnejše aplikacije (makre) z manj kode, ki pa tipično niso nič manj koristni od velikih aplikacij
Načrt rešitve • Izberemo tekst, za katerega bi radi, da se vsaka druga vrstica označi z barvo • Poženemo makro • Makro vsako drugo vrstico označi z barvo • Definiramo nov makro v Wordu • Vseboval bo eno For zanko • Kode, ki je ne znamo zapisati [npr. označba izbire z barvo], se lahko naučimo preko snemanja makrojev • Najprej se naučimo prepoznavati vrstice ...
Makro v menuju ... desnoklik v vrstici z menuji povlečemo “New Menu” na vrstico z menuji
Makro v menuju ... preimenujemo menu (desnoklik) med makroji poiščemo željenega in ga povlečemo v vrsico z menuji
Makro v menuju ... ukaz preimenujemo (desnoklik)
Test ...
Kaj še manjka? • Obrazec lahko sedaj kličemo le iz urejevalnika kode (malce nerodno) • Želeli bi narediti makro • mako kliče naš obrazec • klic makra vključimo v naš menu
Application mati vseh objektov predstavlja celotno aplikacijo omogoča direktno kontrolo nad nekaterimi nastavitvami (npr. Application.PrintPreview=True) Document odpiranje, zapiranje, shranjevanje, tiskanjedokumentov Vsebovalniki (v dokumentih) Characters Tables Selection Words ... Find, Replacement iskanje in zamenjava teksta ... Objekti in dogodki v Wordu
Zasnova V preglednici bi želeli celice obarvati celice glede na vrednost, ki jo ta celica vsebuje: z zeleno, če je vrednost nad 70 in rdečo, če je pod 20!
Makro Kako smo “zvedeli” za vrednosti 3 in 4 in kako smo poiskali, kateri ukaz nam pobarva celice???
Application mati vseh objektov predstavlja celotno aplikacijo omogoča direktno kontrolo nad nekaterimi nastavitvami WorkBook odpiranje, zapiranje, shranjevanje delovnih zvezkov Range (območja) ActiveCell EntireColumn Selection VisibleRange ... Dogodki, npr. Worksheet_Calculate Worksheet_Change ... Objekti in dogodki v Excelu
O čem (še) nismo govorili ... • Makre in VBA podpirajo tudi druge MS aplikacije • npr. PowerPoint, Outlook, Access • še posebno neizogibna je lahko uporaba VBA v MS Accessu • Za vsako aplikacijo je na voljo posebni objekti model, preko katerega uporabnik dostopa do aplikacije in njenih dokumentov
Nekaj idej • V MS Outlook z VBA izdelajte • filter za email • vas opozori na email z odprtjem posebnega okna, a samo, če vam piše določena oseba • V Wordu izdelajte program • ki vas vpraša za tip dokumenta (fax, pismo) • preko seznama, v katerem so našteti klienti, ki jih dobi iz Outlook-ove baze, vpraša za naslovnika • odpre ustrezni nov dokument (s pravilno izbranim naslovnikom, datumom, ...)