סיכום

Microsoft Office Excel תומך בתוספת אוטומציה בנוסף לתוספת Component Object Model (COM). מאמר זה מסביר את ההבדלים בין שני סוגים אלה של תוספות. 

מידע נוסף

תוספות COM

תוספות COM מציגות למפתח דרך להרחיב את הפונקציונליות של יישומי Office עבור משימות מותאמות אישית. תוספות COM משמשות בדרך כלל להפיכת Excel לאוטומטי בתגובה ללחיצה על לחצן CommandBar, טופס או תיבת דו-שיח או אירוע אחר ספציפי ל- Excel, כגון פתיחה או סגירה של חוברות עבודה או הזנת נתונים בגליונות עבודה. אין אפשרות לבצע קריאה ישירה לפונקציות תוספת COM מנוסחאות תא בגליונות עבודה.תוספת COM היא שרת COM בתהליך (קובץ DLL של ActiveX) חייב ליישם את ממשק IDTExensibility2. כל תוספות COM חייבות ליישם כל אחת מחמש השיטות של ממשק זה: OnConnection, OnStartupComplete, OnAddinsUpdate, OnBeginShutDown ו- OnDisconnection.כאשר תוספת COM מותקנת במערכת של משתמש, נוצרים ערכי רישום עבור התוספת. בנוסף לרישום COM רגיל, תוספת COM רשומה עבור כל יישום Office שבו היא פועלת. תוספות COM המשמשות את Excel רשומות במפתח הרישום הבא:

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

מפתח זה מכיל מפתח משנה עבור כל תוספת COM מותקנת. שם מפתח המשנה הוא ProgID עבור תוספת COM. מפתח המשנה עבור תוספת COM מכיל גם ערכים המתארים את השם הידידותי, התיאור ו אופן הפעולה של טעינת תוספת COM. אופן הפעולה של הטעינה מתאר כיצד התוספת נטענת ב- Excel: נטען בעת האתחול, נטען בעת ההפעלה הבאה בלבד, נטען לפי דרישה או לא נטען.ניתן גם טעינה וטעינה של תוספות COM באמצעות ממשק המשתמש של Excel. לשם כך, בצע את השלבים הבאים:

  1. בתפריט תצוגה, הצבע על סרגלי כלים ולאחר מכן לחץ על התאמה אישית.

  2. בתיבת הדו-שיח סרגלי כלים, לחץ על הכרטיסיה מתקדם. ברשימת הקטגוריות, בחר כלים. אתר תוספות COM ברשימת הפקודות וגרור את הפקודה לתפריט או ל- CommandBar שתבחר. סגור את תיבת הדו-שיח סרגלי כלים.

  3. לחץ על הפקודה תוספות COM שהוספת כדי להציג את תיבת הדו-שיח תוספות COM. תיבת הדו-שיח מפרטת את כל תוספות COM המותקנות במערכת שלך, ותוספת COM הטעון כעת נבחרות.

ניתן גם טעינה וטעינה של תוספות COM באמצעות ממשק המשתמש של Excel. לשם כך, בצע את השלבים הבאים:

  1. לחץ על לחצן Microsoft Office ולאחר מכן לחץ על אפשרויות Excel.

  2. לחץ על תוספות.

  3. תחת ניהול, לחץ על תוספות COM ולאחר מכן לחץ על עבור אל .תיבת הדו-שיח תוספות COM מפרטת את כל תוספות COM המותקנות במחשב. תוספות ה- COM הטעון כעת נבחרות.

לקבלת מידע נוסף, עיין באתר האינטרנט הבא של Microsoft:

מבט כולל על פלטפורמת תוספות Office

תוספות אוטומציה

בנוסף לתוספת COM, Excel תומך בתוספת אוטומציה. ניתן לקרוא לתוספת אוטומציה על תוספות COM, שפונקציות ב'תוספות אוטומציה' יכולות להיקרא מנוסחאות בגליונות עבודה של Excel. תוספות COM חייבות להיות שרתי COM בתהליך שתומכים בממשק IDTExtensibility2; עם זאת, תוספות אוטומציה יכולות להיות שרתי COM שבתהליך או שרתי COM לא בתהליך והטמעת IDTExtensibility2 היא אופציונלית.כדי להשתמש בפונקציות מתוך תוספת אוטומציה ב- Excel, בצע את הפעולות הבאות:

  1. בתפריט כלים, לחץ על תוספות.

  2. בתיבת הדו-Add-Ins, לחץ על אוטומציה. מרשימת שרתי ה- COM הרשומים, בחר את תוספת האוטומציה ולחץ על אישור.

  3. התוספת אוטומציה מופיעה בתיבת הדו-שיח תוספות. לחץ על אישור כדי לסגור את Add-Ins הדו-שיח.

כדי להשתמש בפונקציות מתוך תוספת אוטומציה ב- Excel 2007 ואילך, בצע את הפעולות הבאות:

  1. לחץ על לחצן Microsoft Office ולאחר מכן לחץ על אפשרויות Excel.

  2. לחץ על תוספות.

  3. תחת ניהול, לחץ על תוספות של Excel ולאחר מכן לחץ על ביצוע.

  4. בתיבת הדו-שיח תוספות , לחץ על אוטומציה. ברשימת שרתי ה- COM הרשומים, לחץ על תוספת האוטומציה ולאחר מכן לחץ על אישור.התוספת אוטומציה מופיעה בתיבת הדו-שיח תוספות. לחץ על אישור כדי לסגור את תיבת הדו-שיח תוספות.

בעת ביצוע תוספות לרשימה בתיבת הדו-Add-Ins-שיח של ההודעות או בעת בחירה ונקה של תוספות ברשימה, Excel מאחסן את השינויים שלך ברישום. תחילה, Excel משתמש בהגדרת הרישום הבאה כדי לקבוע אם תוספת אוטומציה ברשימה תוספת נטענת:

 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"

הערה: שנה את מספר הגירסה של Office בהתבסס על הגירסה שבה אתה משתמש.המתג /A המשמש בערך המחרוזת חדש ב- Excel ובגירסה ישנה יותר ומשמש במיוחד לטעינת תוספות אוטומציה. כל תוספות האוטומציה נטענות לפי דרישה; לא קיימת הגדרה שעשויה לשנות את אופן הפעולה של הטעינה עבור תוספת אוטומציה.כאשר תוספת אוטומציה המופיעה בתיבת הדו-שיח Add-Ins אינה מסומנת, מפתח משנה בשם השווה ל- 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ברירת HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Add-in Manager הגדרת רישום זו מבטיחה שתוספות אוטומציה שהוספת לרשימת התוספות יישמרו ברשימה גם אם בחרת שלא לטעון אותן.לקבלת מידע נוסף, עיין באתר האינטרנט הבא של Microsoft:

מבט כולל על פלטפורמת תוספות Office

תוספות אוטומציה המיישם את IDTExtensibility2

כפי שצוין קודם לכן, תוספת אוטומציה עשויה ליישם את IDTExtensibility2, אך היא אינה נדרשת כדי ש- Excel יתקשר לפונקציות בתוספת מתוך גליון עבודה. אם אתה דורש שתוספת האוטומציה שלך תקבל הפניה למופע Excel, תוכל ליישם את IDTExtensibility2 ולהשתמש בפרמטר Application של OnConnection כדי להפוך את Excel לאוטומטי.תוספת אוטומציה המיישמת ניתן טעון את IDTExtensibility2 בממשק המשתמש של Excel באמצעות תיבת הדוAdd-Ins-שיח COM ותיבת הדו-Add-Ins-שיח של שרת ה- COM. להלן תיאור אופן הפעולה של תוספת אוטומציה בהתבסס על טעינתה באחת מתיבות דו-שיח אלה או בשתיהן:

  • נטען רק בתיבת הדו-שיח תוספות.התוספת נטענת לפי דרישה. פונקציות בתוספת עשויות להיקרא מנוסחאות בגליון עבודה.

  • נטען רק בתיבת הדו-שיח תוספות COM.התוספת נטענת כתוספת COM ופעולות הטעינה שלה נקבעות מתוך הגדרות ברישום. אין אפשרות לבצע קריאה לפונקציות בתוספת מנוסחאות בגליון עבודה.

  • נטען הן בתיבת הדו-שיח תוספות COM והן בתיבת הדו-שיח תוספות.שני מופעים נפרדים של התוספת נטענים. מופע אחד נטען כתוספת COM והמופע השני נטען כתוספת אוטומציה. המופע של תוספת COM משתמש באופן הפעולה של הטעינה שצוין ברישום; מופע תוספת האוטומציה נטען לפי דרישה. שני המופעים פועלים באופן עצמאי זה עם זה, ולא משתפים משתנים כלליים.

מאחר שתוספת אוטומציה נטענת לפי דרישה, Excel עשוי לנסות לטעון את התוספת כאשר היא במצב עריכת תאים. לכן, בעת פיתוח תוספת אוטומציה התומכת ב- IDTExtensibility2, עליך להיזהר לא לבצע פעולה שינסה לשנות את המצב של Excel בעת טעינת התוספת. לקבלת מידע נוסף, עיין במאמר הבא ב- Microsoft Knowledge Base:

284876 באג: Excel נכשל כאשר אוטומציה Add-In נטען (c) Microsoft Corporation 2001, כל הזכויות שמורות. תרומות מאת לורי ב. טרנר, Microsoft Corporation.  

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

גלה את יתרונות המנוי, עיין בקורסי הדרכה, למד כיצד לאבטח את המכשיר שלך ועוד.