Če želite uporabljati funkcije drugih aplikacij, se morate odločiti, ali jih želite uporabljati
zgodnja ali pozna vezava predmetnih spremenljivk.
Zgodnja vezava
Vezava med spremenljivko objekta in objektom se izvede, ko je aplikacija sestavljena.
To ima za posledico boljše delovanje v primerjavi s tem, ko vezava poteka med izvajanjem aplikacije (pozna vezava).
Če želite ustvariti zgodnjo vezavo, morate nastaviti sklic na "tujo" knjižnico predmetov, ki jo želite uporabiti.
To naredite iz VBE z uporabo menija Orodja, Reference …. Ko se VBProject sklicuje na
knjižnico objektov, lahko razglasite posebne spremenljivke objekta (npr. Dim oDoc kot Word.Document). S tem bo tudi uspelo
lažje programiranje "tujih predmetov", saj bo VBE prikazal isto programsko pomoč glede lastnosti,
metode in dogodke, ki jih prikazuje za predmete, ki pripadajo aplikaciji, v kateri delate
from (VBE je samodejno vnaprej dodal sklic na to aplikacijo).
To je splošni primer kode, ki prikazuje napako pri avtomatizaciji vba:
Sub OLEAutomationEarlyBinding () 'nadomestite xxx z enim od naslednjih:' Access, Excel, Outlook, PowerPoint ali Word Dim oApp As xxx.Application 'zgodnja vezava Dim oDoc As xxx.Document' Excel.Delovni zvezek, Outlook.MailItem, PowerPoint.Presentation , Word.Document On Error Resume Next 'prezri napake Set oApp = GetObject (, "xxx.Application")' sklicuje se na obstoječi primerek aplikacije Če oApp ni nič, potem 'ne deluje nobena obstoječa aplikacija Set oApp = New xxx.Application' ustvarite nov primerek aplikacije Konec Če je vklopljeno Napaka Pojdi na 0 'nadaljujte z običajnim ravnanjem z napakami Če oApp ni nič, potem' ne morem ustvariti aplikacije MsgBox "Aplikacija ni na voljo!", vbExclamation Konec z OApp .Visible = True "naredi objekt aplikacije vidno 'na tej točki je aplikacija vidna' naredite nekaj glede na aplikacijo … Nastavite oDoc = .Documents.Open ("c: \ ime mape \ ime datoteke.doc") 'odpri dokument' … oDoc.Close True 'zaprite in shranite dokument. Zaprite 'zaprite aplikacijo Konec z nastavitvijo oDoc = Nič 'prostega pomnilnika Nastavi oApp = Nič' prostega pomnilnika End Sub
Prepozna vezava
Vezava med spremenljivko objekta in objektom poteka med izvajanjem aplikacije.
To ima za posledico počasnejše delovanje v primerjavi s tem, ko vezava poteka pri sestavljanju aplikacije (zgodnja vezava).
Če ne dodate sklica na knjigo objektov, ki pripada "tuji" aplikaciji, morate
razglasite splošne spremenljivke objekta (npr. Dim oDoc kot objekt). To bo otežilo programiranje
"tuji predmeti", ker VBE ne bo prikazal iste pomoči pri programiranju glede lastnosti,
metode in dogodke, ki jih prikazuje za predmete, ki pripadajo aplikaciji, iz katere delate.
To je splošni primer kode:
Sub OLEAutomationLateBinding () 'xxx zamenjajte z enim od naslednjih:' Access, Excel, Outlook, PowerPoint ali Word Dim oApp As Object 'pozna vezava Dim oDoc As Object' pozna vezava On Error Resume Next 'prezrite napake Set oApp = GetObject (, "xxx.Application") 'sklic na obstoječi primerek aplikacije Če oApp ni nič, potem' nobena obstoječa aplikacija se ne nastavi. ravnanje Če oApp ni nič, potem 'ne morem ustvariti aplikacije MsgBox "Aplikacija ni na voljo!", vbExclamation Konec Če je z oApp .Visible = True "naredi objekt aplikacije vidnim" na tej točki je aplikacija vidna "naredite nekaj odvisno v aplikaciji… Nastavite oDoc = .Documents.Open ("c: \ ime mape \ ime datoteke.doc") 'odprite dokument' … oDoc.Close True 'zaprite in shranite dokument. Quit' zaprite aplikacijo End With Set oDoc = Nič 'prostega pomnilnika Nastavi oApp = Nič' fr ee spomin End Sub