Excel COM pievienojumprogrammas un automatizācijas pievienojumprogrammas

Kopsavilkums

Microsoft Office Excel atbalsta automatizācijas pievienojumprogrammas papildus programmkomponentu objektmodeļa (COM) pievienojumprogrammām. Šajā rakstā ir izskaidrotas abu veidu pievienojumprogrammu atšķirības.

Papildinformācija

COM pievienojumprogrammas

COM pievienojumprogrammas izstrādātājam piedāvā veidu, kā paplašināt Office programmu funkcionalitāti pielāgotu uzdevumu izpildei. COM pievienojumprogrammas parasti tiek izmantotas, lai automatizētu programmu Excel, reaģējot uz komandjoslas pogas klikšķi, formu vai dialoglodziņu vai citu programmai Excel raksturīgu notikumu, piemēram, darbgrāmatu atvēršanu vai aizvēršanu vai datu ievadi darblapās. COM pievienojumprogrammas funkcijas nevar izsaukt tieši no šūnu formulām darblapās.

COM pievienojumprogramma ir procesā esošs COM serveris (ActiveX DLL), kam jāievieš IDTExensibility2 interfeiss. Visām COM pievienojumprogrammām ir jāievieš katra no piecām šī interfeisa metodēm: OnConnection, OnStartupComplete, OnAddinsUpdate, OnBeginShutdown un OnDisconnection.

Kad lietotāja sistēmā ir instalēta COM pievienojumprogramma, pievienojumprogrammai tiek izveidoti reģistra ieraksti. Papildus parastajai COM reģistrācijai COM pievienojumprogramma tiek reģistrēta katrai Office lietojumprogrammai, kurā tā darbojas. COM pievienojumprogrammas, ko izmanto Excel, tiek reģistrētas šādā reģistra atslēgā:


            
HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\ 

Šajā atslēgā ir apakšatslēga katrai instalētajai COM pievienojumprogrammai. Apakšatslēgas nosaukums ir COM pievienojumprogrammas ProgID. COM pievienojumprogrammas apakšatslēgā ir arī vērtības, kas apraksta COM pievienojumprogrammas saprotamu nosaukumu, aprakstu un ielādes darbību. Ielādes darbība apraksta, kā pievienojumprogramma tiek ielādēta programmā Excel: ielādēta startēšanas laikā, ielādēta tikai nākamajā startēšanas reizē, ielādēta pēc pieprasījuma vai nav ielādēta.

 COM pievienojumprogrammas var arī ielādēt un izlādēt, izmantojot Excel lietotāja interfeisu. Lai to izdarītu, izpildiet šādas darbības:

  1. Izvēlnē Skats norādiet uz Rīkjoslas un pēc tam noklikšķiniet uz Pielāgot.
  2. Dialoglodziņā Rīkjoslas noklikšķiniet uz cilnes Papildu. Kategoriju sarakstā atlasiet Rīki. Komandu sarakstā atrodiet COM pievienojumprogrammas un velciet komandu uz izvēlni vai komandjoslu pēc savas izvēles. Aizveriet dialoglodziņu Rīkjoslas.
  3. Noklikšķiniet uz komandas COM pievienojumprogrammas, ko pievienojāt, lai parādītu dialoglodziņu COM pievienojumprogrammas. Dialoglodziņā ir uzskaitītas visas sistēmā instalētās COM pievienojumprogrammas, kā arī atlasītas pašlaik ielādētās COM pievienojumprogrammas.

COM pievienojumprogrammas var arī ielādēt un izlādēt, izmantojot Excel lietotāja interfeisu. Lai to izdarītu, izpildiet šādas darbības:

  1. Noklikšķiniet uz Microsoft Office pogas un pēc tam noklikšķiniet uz Excel opcijas.

  2. Noklikšķiniet uz Pievienojumprogrammas.

  3. Sadaļā Pārvaldīt noklikšķiniet uz COM pievienotie elementi un pēc tam noklikšķiniet uz Doties .

    Dialoglodziņā COM pievienojumprogrammas ir norādītas visas datorā instalētās COM pievienojumprogrammas. Atlasītas pašlaik ielādētās COM pievienojumprogrammas.

Papildinformāciju skatiet šajā Microsoft vietnē:

Office pievienojumprogrammu platformas pārskats

Automatizācijas pievienojumprogrammas

Papildus COM pievienojumprogrammām programma Excel atbalsta automatizācijas pievienojumprogrammas. Automatizācijas pievienojumprogrammu pamatā ir COM pievienojumprogrammas, jo automatizācijas funkcijas var izsaukt no formulām Excel darblapās. COM pievienojumprogrammām jābūt procesā esošiem COM serveriem, kas atbalsta IDTExtensibility2 interfeisu. tomēr automatizācijas pievienojumprogrammas var būt procesā esoši vai ārpus procesa COM serveri, un IDTExtensibility2 implementācija nav obligāta.

Lai lietotu funkcijas no automatizācijas pievienojumprogrammas programmā Excel, rīkojieties šādi:

  1. Izvēlnē Rīki noklikšķiniet uz Pievienojumprogrammas.
  2. Dialoglodziņā Add-Ins noklikšķiniet uz Automatizācija. Reģistrēto COM serveru sarakstā atlasiet savu automatizācijas pievienojumprogrammu un noklikšķiniet uz Labi.
  3. Automatizācijas pievienojumprogramma parādās dialoglodziņā Pievienojumprogrammas. Noklikšķiniet uz Labi, lai aizvērtu Add-Ins dialoglodziņu.

Lai izmantotu funkcijas no automatizācijas pievienojumprogrammas programmā Excel 2007 vai jaunākās versijās, veiciet šādas darbības:

  1. Noklikšķiniet uz Microsoft Office pogas un pēc tam noklikšķiniet uz Excel opcijas.

  2. Noklikšķiniet uz Pievienojumprogrammas.

  3. Sadaļā Pārvaldīt noklikšķiniet uz Excel pievienojumprogrammas un pēc tam uz Aiziet.

  4. Dialoglodziņā Pievienojumprogrammas noklikšķiniet uz Automatizācija. Reģistrēto COM serveru sarakstā noklikšķiniet uz automatizācijas pievienojumprogrammas un pēc tam uz Labi.

    Automatizācijas pievienojumprogramma parādās dialoglodziņā Pievienojumprogrammas . Noklikšķiniet uz Labi , lai aizvērtu dialoglodziņu Pievienojumprogrammas .

Ja veicat papildinājumus sarakstam dialoglodziņā Add-Ins vai sarakstā atlasāt un notīrāt pievienojumprogrammas, Excel saglabā izmaiņas reģistrā. Pirmkārt, programma Excel izmanto tālāk norādīto reģistra iestatījumu, lai noteiktu, vai ir ielādēta automatizācijas pievienojumprogramma pievienojumprogrammu sarakstā:


 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"

Piezīme. Mainiet Office versijas numuru atkarībā no izmantotās versijas.

Slēdzis /A, kas tiek izmantots virknes vērtībā, ir jauniesākums programmā Excel un vecākās versijās un tiek izmantots speciāli automatizācijas pievienojumprogrammu ielādei. Visas automatizācijas pievienojumprogrammas tiek ielādētas pēc pieprasījuma. nav iestatījuma, kas varētu mainīt automatizācijas pievienojumprogrammas ielādes uzvedību.

Ja dialoglodziņā Add-Ins norādītā automatizācijas pievienojumprogramma tiek notīrīta, šajā reģistra atslēgā tiek izveidota apakšatslēga, kuras nosaukums ir vienāds ar pievienojumprogrammas ProgID:

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
Šis reģistra iestatījums nodrošina, ka automatizācijas pievienojumprogrammas, kuras esat pievienojis pievienojumprogrammu sarakstam, tiek saglabātas sarakstā pat tad, ja esat izvēlējies tās neielādēt.

Papildinformāciju skatiet šajā Microsoft vietnē:

Office pievienojumprogrammu platformas pārskats

Automatizācijas pievienojumprogrammas, kas ievieš IDTExtensibility2

Kā minēts iepriekš, automatizācijas pievienojumprogramma var ieviest IDTExtensibility2, bet tā nav nepieciešama, lai Excel varētu izsaukt pievienojumprogrammas funkcijas no darblapas. Ja vēlaties, lai automatizācijas pievienojumprogramma iegūtu atsauci uz Excel instanci, varat ieviest IDTExtensibility2 un izmantot OnConnection lietojumprogrammas parametru, lai automatizētu Excel.

Automatizācijas pievienojumprogramma, kas ievieš
Rādītāju IDTExtensibility2 var ielādēt Excel lietotāja interfeisā, izmantojot gan COM Add-Ins dialoglodziņu, gan Add-Ins dialoglodziņu. Tālāk ir aprakstīta automatizācijas pievienojumprogrammas darbība atkarībā no tā, vai tā ir ielādēta vienā vai abos šajos dialoglodziņos:

  • Ielādē tikai dialoglodziņā Pievienojumprogrammas.

    Pievienojumprogramma tiek ielādēta pēc pieprasījuma. Pievienojumprogrammā esošās funkcijas var izsaukt no darblapā esošajām formulām.

  • Ielādēta tikai dialoglodziņā COM pievienojumprogrammas.

    Pievienojumprogramma tiek ielādēta kā COM pievienojumprogramma, un tās ielādes darbība tiek noteikta no reģistra iestatījumiem. Pievienojumprogrammas funkcijas nevar izsaukt no darblapā esošajām formulām.

  • Ielādēta gan dialoglodziņā COM pievienojumprogrammas, gan dialoglodziņā Pievienojumprogrammas.

    Tiek ielādētas divas atsevišķas pievienojumprogrammas instances. Viena instance tiek ielādēta kā COM pievienojumprogramma, bet otra — kā automatizācijas pievienojumprogramma. COM pievienojumprogrammas instance izmanto reģistrā norādīto ielādes uzvedību; Automatizācijas pievienojumprogrammas instance tiek ielādēta pēc pieprasījuma. Abas instances darbojas neatkarīgi viena no otras un tām nav kopīgu globālo mainīgo.

Tā kā automatizācijas pievienojumprogrammas tiek ielādētas pēc pieprasījuma, programma Excel var mēģināt ielādēt pievienojumprogrammu, kamēr tā ir šūnas rediģēšanas režīmā. Tāpēc, izstrādājot automatizācijas pievienojumprogrammu, kas atbalsta IDTExtensibility2, ir jāuzmanās, lai pievienojumprogrammas ielādes laikā netiktu darīts nekas tāds, kas mēģinātu mainīt Excel stāvokli. Papildinformāciju skatiet šajā Microsoft zināšanu bāzes rakstā:

284876 KĻŪDA: Excel neizdodas, kad ielādē automatizāciju Add-In

(c) Microsoft Corporation 2001, Visas tiesības paturētas. Lori B. Turner, Microsoft Corporation, ieguldījums.