Összefoglalás
A Microsoft Office Excel támogatja az Automation-bővítményeket a Component Object Model (COM) bővítmények mellett. Ez a cikk a két bővítménytípus közötti különbségeket ismerteti.
További információ
COM-bővítmények
A COM-bővítmények lehetővé mutatják a fejlesztőnek, hogy kiterjeszthesse az Office-alkalmazások funkcióit az egyéni feladatokhoz. A COM-bővítményeket általában arra használják, hogy automatizálják az Excelt a parancssáv gombjára, egy űrlapra vagy párbeszédpanelre való kattintásra, vagy más, az Excelre jellemző eseményre, például munkafüzetek megnyitására vagy bezárására, illetve a munkalapok adatainak bevitelére. A COM bővítményfüggvények nem hívhatók meg közvetlenül a munkalapok cellaképleteiből.
A COM-bővítmények egy folyamaton belüli COM-kiszolgáló (ActiveX DLL), amelyeknek implementálniuk kell az IDTExensibility2 felületet. Minden COM-bővítménynek implementálnia kell a felület öt metódusát: OnConnection, OnStartupComplete, OnAddinsUpdate, OnBeginShutDown és OnDisconnection. Amikor egy COM-bővítményt telepít egy felhasználó rendszerére, a rendszer beállításjegyzék-bejegyzéseket hoz létre a bővítményhez. A normál COM-regisztráción kívül a COM-bővítmények regisztrálva lesznek minden olyan Office-alkalmazáshoz, amelyben fut. Az Excel által használt COM-bővítmények a következő beállításkulcsban vannak regisztrálva:
HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\
Ez a kulcs minden telepített COM-bővítményhez tartalmaz egy alkulcsot. Az alkulcs neve a COM-bővítmény ProgID azonosítója. A COM-bővítmény alkulcsa olyan értékeket is tartalmaz, amelyek a COM-bővítmény rövid nevét, leírását és betöltési viselkedését írják le. A betöltési viselkedés azt írja le, hogy a bővítmény hogyan töltődik be az Excelben: indításkor töltődik be, csak következő indításkor töltődik be, igény szerint betöltődik, vagy nincs betöltve.
A COM-bővítmények az Excel felhasználói felületén is betölthetők és eltávolíthatók. Ezt a következőképpen teheti meg:-
Mutasson a Nézet menü Eszköztárak pontjára, majd kattintson a Testreszabás parancsra.
-
Az Eszköztárak párbeszédpanelen kattintson a Speciális fülre. A kategóriák listájában válassza az Eszközök lehetőséget. Keresse meg a COM-bővítményeket a parancsok listájában, és húzza a parancsot egy tetszőleges menübe vagy parancssávba. Zárja be az Eszköztárak párbeszédpanelt.
-
A COM-bővítmények párbeszédpanel megjelenítéséhez kattintson a hozzáadott COM-bővítmények parancsra. A párbeszédpanel felsorolja a rendszeren telepített összes COM-bővítményt, és az aktuálisan betöltött COM-bővítmények vannak kiválasztva.
A COM-bővítmények az Excel felhasználói felületén is betölthetők és eltávolíthatók. Ezt a következőképpen teheti meg:
-
Kattintson a Microsoft Office gombra, majd Az Excel beállításai gombra.
-
Kattintson a Bővítmények elemre.
-
A Kezelés területen kattintson a COM-bővítmények elemre, majd az Ugrás gombra.
A COM-bővítmények párbeszédpanel felsorolja a számítógépre telepített összes COM-bővítményt. Az aktuálisan betöltött COM-bővítmények vannak kiválasztva.
További információért tekintse meg a Microsoft következő webhelyét:
Automation-bővítmények
A COM-bővítmények mellett az Excel támogatja az Automation-bővítményeket is. Az Automation-bővítmények COM-bővítményekre épülnek, amelyekben az Automation-bővítmények függvényei Excel-munkalapok képleteiből hívhatók meg. A COM-bővítményeknek olyan folyamaton belüli COM-kiszolgálóknak kell lenniük, amelyek támogatják az IDTExtensibility2 felületet; Az Automation-bővítmények azonban lehetnek folyamatban lévő vagy folyamaton kívüli COM-kiszolgálók, és az IDTExtensibility2 implementálása nem kötelező.
Ha egy Automation-bővítmény függvényeit szeretné használni az Excelben, kövesse az alábbi lépéseket:-
Az Eszközök menüben kattintson a Bővítmények elemre.
-
A Add-Ins párbeszédpanelen kattintson az Automatizálás elemre. A regisztrált COM-kiszolgálók listájából válassza ki az Automation-bővítményt, és kattintson az OK gombra.
-
Az Automation-bővítmény megjelenik a Bővítmények párbeszédpanelen. Kattintson az OK gombra a Add-Ins párbeszédpanel bezárásához.
Ha az Excel 2007-ben és újabb verzióban egy Automation-bővítményből szeretne függvényeket használni, kövesse az alábbi lépéseket:
-
Kattintson a Microsoft Office gombra, majd Az Excel beállításai gombra.
-
Kattintson a Bővítmények elemre.
-
A Kezelés területen kattintson az Excel-bővítmények elemre, majd az Ugrás gombra.
-
A Bővítmények párbeszédpanelen kattintson az Automation elemre. A regisztrált COM-kiszolgálók listájában kattintson az Automation-bővítményre, majd az OK gombra.
Az Automation-bővítmény megjelenik a Bővítmények párbeszédpanelen. Kattintson az OK gombra a Bővítmények párbeszédpanel bezárásához.
Ha hozzáadja a listát a Add-Ins párbeszédpanelen, vagy amikor kijelöli és törli a bővítményeket a listában, az Excel a módosításokat a beállításjegyzékben tárolja. Az Excel először a következő beállításjegyzék-beállítással állapítja meg, hogy be van-e töltve egy Automation-bővítmény a bővítménylistában:
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"
Megjegyzés: Módosítsa az Office verziószámát a használt verzió alapján.
A sztringértékben használt /A kapcsoló új az Excelben és a régebbi verziókban, és kifejezetten az Automation-bővítmények betöltésére szolgál. Minden Automation-bővítmény igény szerint töltődik be; Nincs olyan beállítás, amely megváltoztathatja az Automation-bővítmények betöltési viselkedését. Ha a Add-Ins párbeszédpanelen felsorolt Automation-bővítmény törlődik, a következő beállításkulcsban létrejön egy alkulcs, amelynek neve megegyezik a bővítmény ProgID azonosítójával: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 Ez a beállításjegyzék-beállítás biztosítja, hogy a bővítménylistához hozzáadott Automation-bővítmények akkor is megmaradnak a listában, ha úgy döntött, hogy nem tölti be őket. További információért tekintse meg a Microsoft következő webhelyét:
Az IDTExtensibility2-t megvalósító Automation-bővítmények
Ahogy korábban említettük, egy Automation-bővítmény implementálhatja az IDTExtensibility2 bővítményt, de nem szükséges ahhoz, hogy az Excel meghívja a bővítmény függvényeit egy munkalapról. Ha azt szeretné, hogy az Automation-bővítmény hivatkozzon az Excel-példányra, implementálhatja az IDTExtensibility2-t, és az OnConnection Alkalmazás paraméterével automatizálhatja az Excelt.
Egy Automation-bővítmény, amely implementálja Az IDTExtensibility2 a COM Add-Ins párbeszédpanelen és a Add-Ins párbeszédpanelen is betölthető az Excel felhasználói felületére. Az alábbiak az Automation-bővítmények viselkedését írják le attól függően, hogy az egyik vagy mindkét párbeszédpanelen be van-e töltve:-
Csak a Bővítmények párbeszédpanelen töltődik be.
A bővítmény igény szerint betöltődik. A bővítmény függvényei meghívhatók egy munkalap képleteiből. -
Csak a COM-bővítmények párbeszédpanelen tölthető be.
A bővítmény COM-bővítményként van betöltve, és a betöltési viselkedését a beállításjegyzék beállításai határozzák meg. A bővítmény függvényei nem hívhatók meg munkalap képleteiből. -
A COM-bővítmények párbeszédpanelen és a Bővítmények párbeszédpanelen is be van töltve.
A bővítmény két különálló példánya töltődik be. Az egyik példány COM-bővítményként, a másik pedig Automation-bővítményként van betöltve. A COM-bővítménypéldány a beállításjegyzékben jelzett terhelési viselkedést használja; az Automation-bővítménypéldány igény szerint betöltődik. A két példány egymástól függetlenül működik, és nem osztoznak a globális változókon.
Mivel az Automation-bővítmények igény szerint töltődnek be, az Excel megkísérelheti betölteni a bővítményt cella szerkesztési módban. Ezért amikor olyan Automation-bővítményt fejleszt, amely támogatja az IDTExtensibility2-t, ügyeljen arra, hogy ne tegyen semmit, amely megpróbálja módosítani az Excel állapotát, miközben a bővítmény betöltődik. További információt a Microsoft Tudásbázis következő cikkében talál:
284876 HIBA: Az Excel meghiúsul, ha az Automation Add-In betöltődik (c) Microsoft Corporation 2001, Minden jog fenntartva. Lori B. Turner, Microsoft Corporation közreműködése.