See artikkel näitab teile, kuidas kasutada objekti loomise meetodit VBA -s.
VBA on objektorienteeritud keel - see kasutab protseduure objektide juhtimiseks ja loomiseks.
Loo objekt
Objekti loomiseks Microsoft Office'i rakenduses saame kasutada meetodit Loo objekt. Näiteks kui kirjutame Excelis VBA -koodi ja soovime avada Wordi koopia, saame uue Wordi eksemplari loomiseks kasutada meetodit Loo objekt.
Näiteks:
12345 | Sub CreateWordInstance ()Dim wdApp objektinaMäära wdApp = CreateObject ("Word.Application")wdApp.Visible = TõsiEnd Sub |
Samamoodi saame luua uue PowerPointi või Accessi eksemplari.
12345 | Alam CreatePowerPointApplicationDim ppApp objektinaMäära ppApp = CreateObject ("PowerPoint.Application")ppApp.Visible = TõsiEnd Sub |
Saame luua objekti ka muude objektide loomiseks kui rakendusobjekt. Saame seda kasutada näiteks Exceli lehe loomiseks.
1234567 | Sub CreateExcelSheet ()Dim xlSheet kui objektMäära xlSheet = CreateObject ("Excel.Sheet")xlSheet.Application.Visible = TõsixlSheet.Application.Range ("A2") = "Tere hommikust"Määra xlSheet = Mitte midagiEnd Sub |
See aga loob tegelikult uue Exceli eksemplari - see ei loo lehte juba avatud eksemplaris. Sel põhjusel peame objekti nägemiseks määrama uue lehe rakenduse (st Exceli uue eksemplari) rakenduse Visible.
Kõigis ülaltoodud näidetes kasutame hilist sidumist - seega kuulutame muutujad objektideks. Varajase sidumise saame kasutada ka siis, kui seame oma VBA -projektis viite Wordile või PowerPointile ja kirjutame seejärel alamprotseduuri, nagu allpool näidatud. Hilise ja varase sidumise kohta lisateabe saamiseks klõpsake siin.
Esiteks seadsime VBE -s varajase sidumise jaoks viite Microsoft Wordile.
Aastal Menüü riba, valige Tööriistad> Viited ja kerige alla, et leida viide Microsoft Word 16.0 objektide kogu.
Veenduge, et viide on märgitud, ja seejärel klõpsake OKEI.
MÄRKUS: versioon ei pruugi olla 16.0, kõik sõltub sellest, millist Microsoft Office'i versiooni teie arvutis kasutatakse!
Nüüd deklareerime objekti varase sidumise abil - see tähendab, et selle asemel, et kuulutada objekt wdApp, kuulutame selle objektiks Sõna. Rakendus. Ülejäänud kood on sama mis ülaltoodud hilise sidumise kasutamisel.
12345 | Sub CreateWordInstance ()Dim wdApp kui uus sõna. RakendusMäära wdApp = CreateObject ("Word.Application")wdApp.Visible = TõsiEnd Sub |