Innholdsfortegnelse:
- Før du begynner å skrive kode
- Laster inn de aktuelle objektmodellene
- Angi referanser til andre programmer
Video: ZEITGEIST: MOVING FORWARD | OFFICIAL RELEASE | 2011 2025
Visual Basic for Applications (VBA) er ikke et programmeringsspråk for Microsoft Access 2003 alene. Det er et programmeringsspråk for alle applikasjonsprogrammer som støtter Automation. Automatisering (med hovedstaden A ) refererer til evnen til et program å bli manipulert programmatisk, eller styres automatisk ved hjelp av et programmeringsspråk som VBA. Alle de store applikasjonene i Microsoft Office, inkludert Microsoft Access, Microsoft Excel, Microsoft Outlook, Microsoft PowerPoint og Microsoft Word-støtte Automation. Du kan skrive kode for å automatisk dele data mellom dem.
Begrepet Komponentobjektmodell ( COM ) og OLE-automatisering er eldre termer for (men er egentlig synonymt med) for øyeblikket kalt automatisering.
Før du begynner å skrive kode
Før du bytter data mellom Access og andre programmer i Microsoft Office Suite, vær oppmerksom på at skrivingskoden for å gjøre jobben, er sjelden nødvendig. Du kan gjøre mange importerings- og eksportdata mellom Microsoft Office-applikasjoner uten å skrive noen kode i det hele tatt. For eksempel kan du utføre følgende handlinger:
- Importer og eksporter data ved å bruke alternativer på Access File-menyen.
- E-posttilgang objekter, for eksempel rapporter, ved å velge Send til -> Mottaker.
- Bruk OfficeLinks-funksjonen til å sende objekter til andre programmer.
- Bruk grunnleggende Windows-kutt-og-lim teknikker og OLE (Object Linking and Embedding) for å kopiere og koble data mellom programmer.
- Slett data fra Tilgangstabeller til Microsoft Word-bokstaver, etiketter, konvolutter eller andre rapporter, ved hjelp av funksjonen Word Mail Merge. (Søk i Word Help-systemet for flette. )
Hvis du bare ser for å få data fra Tilgang til et annet program (eller omvendt), er skrivekode nok ikke den enkleste tilnærmingen. Noen av de tidligere tilnærmingene er enklere enn å skrive tilpasset VBA-kode for å gjøre jobben.
Selvfølgelig, en gang i en ordspråklig blåmåne, kommer du over en situasjon der skriving av VBA-kode er den eneste, eller kanskje bare den beste, måten å få jobben gjort på. Denne artikkelen viser noen grunnleggende begreper som du vil forstå.
Laster inn de aktuelle objektmodellene
Tilgangsmodellmodellen gir et middel til å referere til objekter med navn, slik at du kan manipulere disse objektene ved hjelp av VBA-kode. Hvert Office-program som eksponerer seg for VBA har en objektmodell, akkurat som Access gjør.Etter at et programprograms objektbibliotek er tilgjengelig, kan du bruke VBA til å kontrollere det programmet.
En objektmodell definerer navn og organisering av objekter i applikasjonen. Et objektbibliotek er den faktiske filen som er lagret på harddisken, og definerer den konseptuelle objektmodellen.
Før du skriver kode for å kontrollere et eksternt program fra Access, må du laste inn det aktuelle objektbiblioteket i dialogboksen Referanser i Tilgang. Følg disse trinnene:
1. Pass på at du er i Visual Basic Editor.
Trykk på Alt + F11 hvis du er i tilgangsprogramvinduet.
2. Velg Verktøy -> Referanser fra Visual Basic Editor-menyen.
Dialogboksen Referanser åpnes.
3. Bla gjennom listen Tilgjengelige referanser og velg objektbiblioteker for programmene du vil kontrollere.
I figur 1 er de valgte objektbibliotekene for tilgang, Excel, Outlook, PowerPoint og Word (blant andre).
Figur 1: Flere objektbiblioteker valgt i dialogboksen Referanser.
4. Klikk på OK.
Alle de valgte objektbiblioteker vil bli åpnet, og du har tilgang til alle deres objektmodeller fra dette punktet på.
Løsning av objektbiblioteker
Laster flere objektbiblioteker enn nødvendig er sløsing fordi VBA-programmer kjører langsommere. I virkeligheten trenger du sjelden å velge alle objektbiblioteker som er tilgjengelige (se figur 1) med mindre du virkelig har tenkt å samhandle med alle disse programmene fra den nåværende databasen.
Du kan laste ut biblioteker så enkelt som du laster dem. Åpne dialogboksen Referanser og fjern merket ved siden av et objektbibliotek som du egentlig ikke har tenkt å bruke.
Utforsker et programs objektmodell
Objektbrowseren i Visual Basic Editor gir tilgang til alle objektmodellene som er valgt i dialogboksen Referanser. Hver lastet objektmodell inneholder mange objekter, klasser, egenskaper og slikt. Men for automatisering, vil du hovedsakelig se på hvert programs applikasjonsobjekt. For eksempel viser tilgangsprogrammet Objekt tilgang til andre programmer som støtter automatisering. Excel-applikasjonsobjektet (som finnes i Excel-objektbiblioteket) eksponerer Excel til andre automatiseringsprogrammer og så videre.
For å åpne Object Browser i VBA Editor, velg Vis -> Object Browser eller trykk F2. For å få hjelp med et element i Objektbrowser, klikk på navnet, og klikk deretter Hjelp (?) -knappen i verktøylinjen Objektbrowser.
Når du velger fra prosjektlisten / bibliotekslisten i objektbrosjeren og ruller ned klasseslisten i den venstre kolonnen, ser du flere applikasjonsobjekter. Når du klikker på ett av programobjektene, vises navnet på programmet nede i bunnen av dialogboksen. Medlemmer av det aktuelle applikasjonsobjektet vises i ruten til høyre, som vist på figur 2.
Figur 2: Objektbrowseren etter å ha lagt til flere objektbiblioteker.
Angi referanser til andre programmer
Med objektmodeller lastet, er du klar til å begynne å sette opp referanser til tilgjengelige programmer i VBA-koden.Det første trinnet er å bruke en Dim-setning for å opprette en objektvariabel som refererer til programmet som du vil koble til, ved hjelp av følgende syntaks:
Dim anyName As [New] -program. Søknad
I syntaksen, anyName , er det noe du vil, som skal brukes i koden din for å referere til programmet. Argumentet programmet er det offisielle navnet til automatiseringsprogrammet. Det nye søkeordet er valgfritt. Hvis det er inkludert, åpner det nye søkeordet en kopi av programmet i bakgrunnen (ikke nødvendigvis synlig på skjermen) før koden kjører.
Noen eksempler på Dim-setninger er følgende:
Dim appExcel As New Excel. Søknad
Dim appOutlook som ny Outlook. Søknad
Dim appPowerPoint Som nytt PowerPoint. Søknad
Dim appWord Som nytt ord. Søknad
En Dim-setning er kun gyldig hvis det aktuelle objektbiblioteket er lastet inn. For eksempel, den dårlige appWord som nytt ord. Programoppsett mislykkes hvis objektbiblioteket for Microsoft Word ikke er valgt i dialogboksen Referanser.
Dim-setningene oppretter bare objektvariabler som refererer til programmet fra din kode. For å faktisk koble til en applikasjons applikasjonsobjekt, må du sette objektvariabelenavnet til programmet. Syntaxen er
Angi objektVariabel som CreateObject ("appName. Application")
hvor objectVariable er det samme som navnet du oppgav i Dim-setningen og appName er navnet på søknadsprogrammet. Med henvisning til tidligere Dim-setninger, er Set-setningene du bruker for hver definerte objektvariabel, følgende:
Angi appExcel = CreateObject ("Excel. Application")
Angi appOutlook = CreateObject ("Outlook. Application")
Angi appPowerPoint = CreateObject ("PowerPoint. Application")
Angi appWord = CreateObject ("Word. Application")
Hvert program i Office-pakken har sin egen objektmodell med egne objekter og egenskaper, men De grunnleggende ideene er de samme uansett hvilket program og objektmodell du bruker.
