Sammendrag
Microsoft Office Excel støtter automatiseringstillegg i tillegg til COM-tillegg (Component Object Model). Denne artikkelen forklarer forskjellene mellom disse to typene tillegg.
Mer informasjon
COM-tillegg
COM-tillegg presenterer utvikleren med en måte å utvide funksjonaliteten til Office-programmer for egendefinerte oppgaver på. COM-tillegg brukes vanligvis til å automatisere Excel som svar på et klikk på en kommandolinjeknapp, et skjema eller en dialogboks eller en annen hendelse som er spesifikk for Excel, for eksempel å åpne eller lukke arbeidsbøker eller skrive inn data i regneark. COM-tilleggsfunksjoner kan ikke kalles direkte fra celleformler i regneark.
Et COM-tillegg er en prosessintern COM-server (en ActiveX DLL) som må implementere IDTExensibility2-grensesnittet. Alle COM-tillegg må implementere hver av de fem metodene i dette grensesnittet: OnConnection, OnStartupComplete, OnAddinsUpdate, OnBeginShutDown og OnDisconnection. Når et COM-tillegg er installert på en brukers system, opprettes registeroppføringer for tillegget. I tillegg til vanlig COM-registrering registreres et COM-tillegg for hvert Office-program der det kjører. COM-tillegg som brukes av Excel, er registrert i følgende registernøkkel:
HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\
Denne nøkkelen inneholder en undernøkkel for hvert installert COM-tillegg. Navnet på undernøkkelen er ProgID for COM-tillegget. Undernøkkelen for et COM-tillegg inneholder også verdier som beskriver COM-tilleggets egendefinerte navn, beskrivelse og virkemåte for innlasting. Innlastingsvirkemåten beskriver hvordan tillegget lastes inn i Excel: lastet inn ved oppstart, lastet bare ved neste oppstart, lastet inn ved behov eller ikke lastet inn.
COM-tillegg kan også lastes inn og fjernes gjennom Brukergrensesnittet i Excel. Dette gjør du slik:-
Pek på Verktøylinjer på Vis-menyen, og klikk deretter Tilpass.
-
Klikk fanen Avansert i dialogboksen Verktøylinjer. Velg Verktøy i listen over kategorier. Finn COM-tillegg i listen over kommandoer, og dra kommandoen til en meny eller kommandolinje. Lukk dialogboksen Verktøylinjer.
-
Klikk kommandoen COM-tillegg du har lagt til for å vise dialogboksen COM-tillegg. Dialogboksen viser alle COM-tillegg som er installert på systemet, og COM-tilleggene som er lastet inn, er valgt.
COM-tillegg kan også lastes inn og fjernes gjennom Brukergrensesnittet i Excel. Dette gjør du slik:
-
Klikk Microsoft Office-knappen, og klikk deretter Alternativer for Excel.
-
Klikk Tillegg.
-
Klikk COM-tillegg under Behandle, og klikk deretter Gå til .
Dialogboksen COM-tillegg viser alle COM-tillegg som er installert på datamaskinen. COM-tilleggene som er lastet inn, er valgt.
Hvis du vil ha mer informasjon, kan du se følgende Microsoft-webområde:
Automatiseringstillegg
I tillegg til COM-tillegg støtter Excel automatiseringstillegg. Automatiseringstillegg bygger på COM-tillegg som funksjoner i automatiseringstillegg kan kalles fra formler i Excel-regneark. COM-tillegg må være prosessinterne COM-servere som støtter IDTExtensibility2-grensesnittet. Automatiseringstillegg kan imidlertid være prosessinterne eller prosessinterne COM-servere, og implementering av IDTExtensibility2 er valgfritt.
Hvis du vil bruke funksjoner fra et automatiseringstillegg i Excel, gjør du følgende:-
Klikk Tillegg på Verktøy-menyen.
-
Klikk Automatisering i dialogboksen Add-Ins. Velg automatiseringstillegget fra listen over registrerte COM-servere, og klikk OK.
-
Automatiseringstillegget vises i dialogboksen Tillegg. Klikk OK for å lukke dialogboksen Add-Ins.
Hvis du vil bruke funksjoner fra et automatiseringstillegg i Excel 2007 og nyere, følger du disse trinnene:
-
Klikk Microsoft Office-knappen, og klikk deretter Alternativer for Excel.
-
Klikk Tillegg.
-
Klikk Excel-tillegg under Behandle, og klikk deretter Gå til.
-
Klikk Automatiseringi dialogboksen Tillegg. Klikk automatiseringstillegget i listen over registrerte COM-servere, og klikk deretter OK.
Automatiseringstillegget vises i dialogboksen Tillegg . Klikk OK for å lukke dialogboksen Tillegg .
Når du legger til listen i dialogboksen Add-Ins, eller når du velger og fjerner tillegg i listen, lagrer Excel endringene i registeret. Først bruker Excel følgende registerinnstilling til å avgjøre om et automatiseringstillegg i tilleggslisten lastes inn:
Excel 2002
Key: HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Options
String: OPENx
Sample Value: /A "ServerName.ClassName"
Excel 2003
Key: HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options
String: OPENx
Sample Value: /A "ServerName.ClassName"
Excel 2007
Key: HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Options
String: OPENx
Sample Value: /A "ServerName.ClassName"
Obs! Endre versjonsnummeret for Office basert på versjonen du bruker.
/A-bryteren som brukes i strengverdien, er ny i Excel og eldre, og brukes spesielt til å laste inn automatiseringstillegg. Alle automatiseringstillegg lastes inn ved behov. det finnes ingen innstilling som kan endre virkemåten for innlasting for et automatiseringstillegg. Når et automatiseringstillegg som er oppført i dialogboksen Add-Ins fjernes, opprettes en undernøkkel med et navn som er lik ProgID-en for tillegget, i følgende registernøkkel:HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Add-in Manager Excel 2003: HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Add-in Manager HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Add-in Manager Denne registerinnstillingen sikrer at automatiseringstillegg som du har lagt til i listen over tillegg, beholdes i listen selv når du har valgt å ikke laste dem inn. Hvis du vil ha mer informasjon, kan du se følgende Microsoft-webområde:
Automatiseringstillegg som implementerer IDTExtensibility2
Som tidligere nevnt kan et automatiseringstillegg implementere IDTExtensibility2, men det er ikke nødvendig for at Excel skal kunne kalle opp funksjonene i tillegget fra et regneark. Hvis du krever at automatiseringstillegget henter en referanse til Excel-forekomsten, kan du implementere IDTExtensibility2 og bruke programparameteren OnConnection til å automatisere Excel.
Et automatiseringstillegg som implementerer IDTExtensibility2 kan lastes inn i Brukergrensesnittet i Excel gjennom både DIALOGBOKSEN COM Add-Ins og dialogboksen Add-Ins. Følgende beskriver virkemåten til et automatiseringstillegg basert på om det er lastet inn i én eller begge av disse dialogboksene:-
Bare lastet inn i dialogboksen Tillegg.
Tillegget lastes inn ved behov. Funksjoner i tillegget kan kalles fra formler i et regneark. -
Bare lastet inn i dialogboksen COM-tillegg.
Tillegget lastes inn som et COM-tillegg, og innlastingsvirkemåten bestemmes fra innstillingene i registeret. Funksjoner i tillegget kan ikke kalles fra formler i et regneark. -
Lastet inn både i dialogboksen COM-tillegg og dialogboksen Tillegg.
To separate forekomster av tillegget lastes inn. Én forekomst lastes inn som et COM-tillegg, og den andre forekomsten lastes inn som et automatiseringstillegg. COM-tilleggsforekomsten bruker virkemåten for innlasting som er angitt i registret. Forekomsten av automatiseringstillegget lastes inn ved behov. De to forekomstene fungerer uavhengig av hverandre og deler ikke globale variabler.
Siden automatiseringstillegg lastes inn ved behov, kan Excel prøve å laste inn tillegget mens det er i celleredigeringsmodus. Når du utvikler et automatiseringstillegg som støtter IDTExtensibility2, bør du derfor være forsiktig så du ikke gjør noe som prøver å endre tilstanden til Excel mens tillegget lastes inn. Hvis du vil ha mer informasjon, les følgende artikkel i Microsoft Knowledge Base:
284876 FEIL: Excel mislykkes når automatisering Add-In lastes inn (c) Microsoft Corporation 2001, med enerett. Bidrag fra Lori B. Turner, Microsoft Corporation.