Innehållsförteckning:
- Innan du börjar skriva kod
- Läser in lämpliga objektmodeller
- Inställning av referenser till andra program
Video: Age of Deceit (2) - Hive Mind Reptile Eyes Hypnotism Cults World Stage - Multi - Language 2024
Visual Basic for Applications (VBA) är inte ett programmeringsspråk för Microsoft Access 2003 ensam. Det är ett programmeringsspråk för alla applikationsprogram som stöder Automation. Automation (med en huvudstad A ) hänvisar till ett programs förmåga att manipuleras programmatiskt eller styrs automatiskt med hjälp av ett programmeringsspråk som VBA. Alla de stora applikationerna i Microsoft Office, inklusive Microsoft Access, Microsoft Excel, Microsoft Outlook, Microsoft PowerPoint och Microsoft Word-stöd Automation. Du kan skriva kod för att automatiskt dela data bland dem.
Villkoren Komponentobjektmodell ( COM ) och OLE-automatisering är äldre termer för (men är i princip synonymt med) som för närvarande kallas Automation.
Innan du börjar skriva kod
Innan du byter data mellan Access och andra program i Microsoft Office Suite, var medveten om att skrivkod för att göra jobbet krävs sällan. Du kan göra gott om att importera och exportera data mellan Microsoft Office-program utan att skriva någon kod alls. Du kan till exempel utföra följande åtgärder:
- Importera och exportera data genom att använda alternativ på menyn Åtkomstfil.
- E-poståtkomstobjekt, t.ex. rapporter, genom att välja Skicka till -> E-postmottagare.
- Använd funktionen OfficeLinks för att skicka objekt till andra program.
- Använd grundläggande Windows-klipp-och-klistra tekniker och OLE (Object Linking and Embedding) för att kopiera och länka data mellan program.
- Sammanfoga data från Access-tabeller till Microsoft Word-bokstäver, etiketter, kuvert eller andra rapporter, med funktionen Word Mail Merge. (Sök i Word Hjälp-systemet för sammanfoga. )
Om du bara söker för att få data från Access till ett annat program (eller vice versa), är skrivkoden förmodligen inte det enklaste sättet. Några av de tidigare tillvägagångssätten är enklare än att skriva anpassad VBA-kod för att göra jobbet.
Naturligtvis, en gång i en ordspråklig blåmåne står du över en situation där skrivning av VBA-kod är den enda, eller kanske bara det bästa, sättet att få jobbet gjort. Denna artikel visar några grundläggande begrepp som du vill förstå.
Läser in lämpliga objektmodeller
Objektmodellen erbjuder ett sätt att referera till objekt med namn så att du kan manipulera dessa objekt med hjälp av VBA-kod. Varje Office-program som exponerar sig för VBA har en objektmodell, precis som Access gör.När ett applikationsprograms objektbibliotek är tillgängligt kan du använda VBA för att styra den applikationen.
En objektmodell definierar namnen och organisationen av objekt i applikationen. Ett objektbibliotek är den faktiska filen som lagras på hårddisken och definierar den begreppsmässiga objektmodellen.
Innan du skriver kod för att styra en extern applikation från Access måste du ladda det lämpliga objektbiblioteket i dialogrutan Referenser i Access. Följ dessa steg:
1. Se till att du är i Visual Basic Editor.
Tryck på Alt + F11 om du är i fönstret Åtkomstprogram.
2. Välj Verktyg -> Referenser från menyn Visual Basic Editor.
Dialogrutan Referenser öppnas.
3. Bläddra igenom listan Tillgängliga referenser och välj objektbibliotek för de program du vill kontrollera.
I figur 1 är de valda objektbiblioteken för Access, Excel, Outlook, PowerPoint och Word (bland annat).
Figur 1: Flera objektbibliotek som valts i dialogrutan Referenser.
4. Klicka på OK.
Alla valda objektbibliotek öppnas, och du har tillgång till alla deras objektmodeller från den här tiden till.
Lossa objektsbibliotek
Laddar fler objektbibliotek än nödvändigt är slöseri eftersom VBA-program körs långsammare. I det verkliga livet behöver du sällan välja alla objektbibliotek som är tillgängliga (se Figur 1) om du inte verkligen tänkt att interagera med alla dessa program från den aktuella databasen.
Du kan lossa bibliotek så enkelt som du laddar dem. Öppna dialogrutan Referenser och markera kryssrutan bredvid något objektbibliotek som du inte riktigt tänker använda.
Utforska ett programmets objektmodell
Objektbrowsaren i Visual Basic Editor ger tillgång till alla objektmodeller som valts i dialogrutan Referenser. Varje laddad objektmodell innehåller många objekt, klasser, egenskaper och liknande. Men för Automation vill du huvudsakligen titta på varje programmets applikationsobjekt. Till exempel avslöjar åtkomstapplikationsobjektet åtkomst till andra program som stöder automatisering. Excel-applikationsobjektet (som finns i Excel-objektbiblioteket) exponerar Excel för andra automatiseringsprogram och så vidare.
För att öppna objektbläddraren i VBA Editor, välj Visa -> Objektbrowser eller tryck på F2. Om du vill få hjälp med ett objekt i objektbläddraren klickar du på dess namn och klickar sedan på knappen Hjälp (?) I verktygsfältet Object Browser.
När du väljer från projektlistan i objektbroschyren och rullar ner klasslistan i den vänstra kolumnen ser du flera applikationsobjekt. När du klickar på ett av programobjekten visas programmets namn längst ner i dialogrutan. Medlemmar av det aktuella applikationsobjektet visas i rutan till höger, som visas i Figur 2.
Figur 2: Objektbrowsaren efter att ha lagt till flera objektbibliotek.
Inställning av referenser till andra program
Med objektmodeller laddade, är du redo att börja konfigurera referenser till tillgängliga program i VBA-kod.Det första steget är att använda ett Dim-ställe för att skapa en objektvariabel som refererar till den applikation som du vill ansluta till, med följande syntax:
Dim anyName As [New] -program. Applikation
I syntaxen, anyName är något namn du vill, som ska användas i din kod för att referera till programmet. Argumentet program är det officiella namnet på Automation-programmet. Det nya sökordet är valfritt. Om det ingår, öppnar det nya sökordet en kopia av programmet i bakgrunden (inte nödvändigtvis synligt på skärmen) innan koden körs.
Några exempel på Dim-uttalanden är följande:
Dim appExcel As New Excel. Applikation
Dim appOutlook som ny Outlook. Applikation
Dim appPowerPoint som ny PowerPoint. Applikation
Dim appWord som nytt ord. Applikation
En Dim-uppgift är endast giltig om det aktuella objektbiblioteket är laddat. Till exempel, den Dim appWord som nytt ord. Ansökningsanspråk misslyckas om objektbiblioteket för Microsoft Word inte är markerat i dialogrutan Referenser.
Dim-uttalandena skapar bara objektvariabler som hänvisar till programmet från din kod. För att faktiskt göra anslutningen till ett programmets Applikationsobjekt måste du ange objektvariabelnamnet till programmet. Syntaxen är
Ange objectVariable As CreateObject ("appName. Application")
där objectVariable är detsamma som det namn du angav i Dim-satsen och appName är namnet på ansökan programmet. Med hänvisning till tidigare Dim-ståndpunkter är de Set-satser som du använder för varje definierad objektvariabel följande:
Ange appExcel = CreateObject ("Excel. Application")
Ange appOutlook = CreateObject ("Outlook. Application")
Ange appPowerPoint = CreateObject ("PowerPoint. Application")
Ange appWord = CreateObject ("Word. Application")
Varje applikation i Office-paketet har sin egen objektmodell med egna objekt och egenskaper, men Grundidéerna är desamma oavsett vilket program och objektmodell du använder.