ERLANDSEN DATA CONSULTING Excel & VBA Tips   Information in English / Informasjon på engelsk

Disse websidene oppdateres ikke lengre og er kun tilgjengelig for historikken sin skyld.

Klikk her for å gå til den oppdaterte informasjonen.

COM AddIns

I tidligere versjoner av Office var det 9 forskjellige add-in modeller. Alle disse hadde varierende attributter m.h.t. oppstart, avslutning, registrering, adferd, språk og kommunikasjon på tvers av de forskjellige tilleggene. Alt dette er nå historie, en COM Add-In har full tilgang til objektmodellene i Office. I dette dokumentet er det stort sett referert til engelske navn på menyvalg og dialoger.

Hva kan man gjøre med en COM Add-In?

  • Alle objektmodellene i Office er tilgjengelige for programmereren.
  • Man kan avvente en hendelse (inkl. application-hendelser) og utføre en handling i forbindelse med dette.
  • Man kan legge til knapper på en CommandBar og vise forskjellige brukergrensesnitt.
  • Posisjonen og størrelsen til hovedvinduene i Office-programmene kan kontrolleres.
  • Man kan kontrollere alle Office-programmene fra hvilket som helst program i Office.
  • Man kan også kontrollere andre programmer som har en objektmodell som er tilgjengelig for programmerere, inkludert tredjepartsprogrammer som lisensierer VBA versjon 6.

Lage en COM Add-In med Office Developer Edition

For å kunne lage en COM Add-In trenger man Office Developer Edition, ingen andre versjoner av Office kan benyttes. Man kan eventuelt benytte et programmeringsverktøy som f.eks. Visual Basic 6.

Aktiver VBE fra hvilket som helst Office-program ved å trykke Alt+F11.
Velg menyvalget File New Project
Velg Add-In Project i den dialogen som kommer frem og klikk på OK.
I den dialogen som kommer frem fyller man inn et beskrivende navn på tillegget, samt en beskrivelse av hva tillegget utfører.
Deretter valger man hvilket program og versjon som tillegget skal registreres for, samt hvordan tillegget skal oppføre seg når programmet starter neste gang.
Tillegget kan startes på følgende måter:
  • None: Manuelt ved hjelp av menyen COM Add-Ins.
  • Startup: Hver gang programmet starter.
  • Load on demand: Hver gang tillegget etterspørres av brukeren fra et egendefinert menyvalg, eller fra en makro, Application.COMAddIns(x).Object, hvor x erstattes med tilleggets navn eller indeksnummer
  • Load at next startup only: Kun neste gang programmet startes.

AddinDesigner-modulen kan eventuelt gis nytt navn i Properties-vinduet.
Høyreklikk på det nye AddinDesigner-objektet og velg View Code.
Du kommer nå inn i det vanlige kodevinduet hvor man fyller inn den koden man vil at tillegget skal utføre.

Hendelsesprosedyren som utføres hver gang tillegget startes heter AddinInstance_OnConnection. Hendelsesprosedyren som utføres hver gang tillegget lukkes heter AddinInstance_OnDisconnection. Man kan også sette inn vanlige moduler, UserForms og klassemoduler dersom man ønsker det.
 
Dersom tillegget skal benyttes i flere programmer setter man inn en ny AddinDesigner-modul. Dette kan gjøres ved å høyreklikke på Designers-mappen i prosjektvinduet og velge Insert Addin Class, eller direkte fra menyen Insert Addin Class. Deretter gjentas punktene som er beskrevet ovenfor.

 

Når tillegget er ferdig redigert kan man kompilere tillegget, dette gjøres på vanlig måte med menyvalget Debug Compile AddinProjectName.
 
For å lage selve DLL-filen velger man menyvalget File Make AddinProjectName.DLL. Du vil nå bli bedt om å velge filnavn og lagringssted for DLL-filen din. Når man lager DLL-filen blir tillegget også automatisk registrert i Registeret, dette er nødvendig for at programmet skal kunne benytte tillegget.
 
COM Add-Ins registreres i Registeret under nøkkelen HKEY_CURRENT_USERSOFTWAREMicrosoftOfficeprogramnavnAddIns (for detaljert informasjon se eventuelt i MSDN Library: Microsoft Office 2000/Visual Basic Programmer's Guide kapittel 11).


 
Selve VBA-prosjektet lagres som en egen fil med menyvalget File Save As... Ta godt vare på denne filen da den kompilerte DLL-filen (vanligvis) ikke kan dekompileres slik at du kan endre innholdet i den. Med andre ord er kildekoden din mye bedre beskyttet enn i tillegg som lages av tidligere versjoner av Office.
Når tillegget er installert på maskinen din kan du benytte menyvalget Tools COM Add-Ins... til å aktivere eller deaktiver tillegget. Du kan også legge til eller fjerne tillegg fra denne dialogboksen. Når du legger til eller fjerner tillegg blir Registeret automatisk oppdatert.

Før andre brukere kan ta i bruk det nye COM-tillegget må tillegget installeres og registreres på lik linje med alle andre DLL-filer. Registreringen gjøres enklest ved å benytte tilleggsverktøyet Package and Deployment Wizard som kan lage en fiks ferdig installasjonsrutine som består av alle nødvendige filer og programmer som trengs til å installere og benytte din egendefinerte løsning.


Slik forbereder du ditt egendefinerte prosjekt på distribusjon til andre brukere:
  1. Lagre prosjektet med menyvalget File Save.
  2. Velg menyvalget Add-Ins Package and Deployment Wizard...
  3. Start veiviseren Package som hjelper deg med å pakke prosjektet ditt slik at du kan distribuere det.
  4. Start deretter veiviseren Deploy som hjelper deg med å overføre det pakkede prosjektet til det mediet du ønsker å distribuere løsningen med (disketter, CD-er, nettverk eller web).

Andre brukere kan nå installerer tillegget med det installasjonsprogrammet setup.exe som lages av Package and Deployment Wizard-en.
Hvis du får noen feilmeldinger ved bruken av P&D-Wizarden skyldes dette muligens problemer med datoformatet på PC-en din. Dersom du har en engelsk/amerikansk versjon av Office kan du enten sette datoformatet til amerikansk engelsk eller skaffe deg fiksen edit_lst.exe fra Microsoft.

 

 

Dokumentet er sist oppdatert 1999-02-18 22:12:22      Utskriftsvennlig versjon

 

Erlandsen Data Consulting     http://www.erlandsendata.no/   
Excel & VBA Tips   Copyright ©1999-2017    Ole P. Erlandsen   All rights reserved
E-post kontaktadresse