Ovaj članak će vam pokazati kako koristiti metodu Stvaranje objekta u VBA -i.
VBA je objektno orijentirani jezik - koristi procedure za kontrolu i stvaranje objekata.
Izradi objekt
Pomoću metode Create Object možemo stvoriti Object u aplikaciji Microsoft Office. Na primjer, ako pišemo VBA kôd u Excelu i želimo otvoriti kopiju Worda, možemo upotrijebiti metodu Stvaranje objekta za stvaranje nove instance Worda.
Na primjer:
12345 | Sub CreateWordInstance ()Zatamnite wdApp kao objektPostavi wdApp = CreateObject ("Word.Application")wdApp.Visible = IstinaKraj podm |
Slično tome, možemo stvoriti novu instancu programa PowerPoint ili Access.
12345 | Sub CreatePowerPointApplicationZatamni ppApp kao objektPostavi ppApp = CreateObject ("PowerPoint.Application")ppApp.Visible = IstinaKraj podm |
Također možemo upotrijebiti Create Object za stvaranje drugih objekata osim Application Objekta. Možemo ga koristiti za izradu Excel lista, na primjer.
1234567 | Pod CreateExcelSheet ()Zatamni xlSheet kao objektPostavi xlSheet = CreateObject ("Excel.Sheet")xlSheet.Application.Visible = IstinaxlSheet.Application.Range ("A2") = "Dobro jutro"Postavi xlSheet = NištaKraj podm |
Međutim, ovo zapravo stvara novu instancu programa Excel - ne stvara list u instanci koja je već otvorena. Iz tog razloga moramo postaviti Primjena novog lista (tj. Novu instancu Excela) na Vidljivo kako bismo vidjeli objekt.
U svim gornjim primjerima koristimo Late Binding - stoga deklariramo varijable kao Objekte. Također možemo koristiti Early Binding postavljanjem referencije na Word ili PowerPoint u našem VBA projektu i zatim pisanjem podprocedure kao što je prikazano u nastavku. Za više informacija o kasnom i ranom vezivanju kliknite ovdje.
Prvo za Early Binding, unutar VBE -a, postavili smo referencu na Microsoft Word.
U Jelovnik traka, odaberite Alati> Reference i pomaknite se prema dolje kako biste pronašli referencu na Biblioteka objekata Microsoft Word 16.0.
Provjerite je li označena referenca, a zatim kliknite U REDU.
NAPOMENA: verzija možda nije 16.0, sve ovisi o verziji sustava Microsoft Office koju koristite na svom računalu!
Sada deklariramo Objekt ranim vezanjem - to znači da, umjesto da wdApp proglasimo Objektom, deklariramo ga kao Word.Primjena. Ostatak koda je isti kao i kada smo gore koristili Late Binding.
12345 | Sub CreateWordInstance ()Zatamnite wdApp kao novu Word.ApplicationPostavi wdApp = CreateObject ("Word.Application")wdApp.Visible = IstinaKraj podm |