Article ID: 213489 - View products that this article applies to.
הרחב הכל | כווץ הכל

On This Page

מאפייני הבעיה

בעת גישה ל- Microsoft Excel כאובייקט אוטומציית OLE באמצעות הפקודה CreateObject, תוספים, קבצים הממוקמים בספרייה XLStart, וברירת המחדל של חוברת עבודה חדשה אינם נטענים.

סיבה

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

דרכים לעקיפת הבעיה

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

כדי לטעון קובץ תוסף בעת הרצת Excel כאובייקט אוטומציית OLE, טען את התוסף ידנית. דוגמאות לשיטה זו מוצגות להלן.

Microsoft Office Excel 2007

?Sub LoadAddin()?

   ?' משתנה מידה xl כסוג אובייקט.
   Dim xl As Object

   ?' הפעל את Microsoft Excel והקצה למשתנה xl.
   ?Set XL = CreateObject("Excel.Application")?

   ?' פתח את קובץ התוסף הרצוי, בדוגמה זו, XLQUERY.XLAM.
   ?XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLAM")?

   ' אם עליך לרשום את הפונקציות והפקודות
   ' המוכלות במשאב (XLL), השתמש בשיטה RegisterXLL.
   ' בדוגמה להלן, כל הפונקציות של Analys32.xll הן
   ' רשומות.
   ?' XL.RegisterXLL "Analys32.xll"?

   ' הרץ פקודות מאקרו אוטומטיות כלשהן כלולות בקובץ התוסף
   ' פקודות מאקרו אוטומטיות אינן רצות כאשר פותחים קובץ
   ' באמצעות השיטה Open.
   XL.Workbooks("xlquery.xlam").RunAutoMacros 1

   Set XL = Nothing
 End Sub
				

Microsoft Office Excel 2003 וגירסאות קודמות של Excel

?Sub LoadAddin()?

   ?' משתנה מידה xl כסוג אובייקט.
   Dim xl As Object

   ?' הפעל את Microsoft Excel והקצה למשתנה xl.
   ?Set XL = CreateObject("Excel.Application")?

   ?' פתח את קובץ התוסף הרצוי, בדוגמה זו, XLQUERY.XLA.
   ?XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLA")?

   ' אם עליך לרשום את הפונקציות והפקודות
   ' המוכלות במשאב (XLL), השתמש בשיטה RegisterXLL.
   ' בדוגמה להלן, כל הפונקציות של Analys32.xll הן
   ' רשומות.
   ?' XL.RegisterXLL "Analys32.xll"?

   ' הרץ פקודות מאקרו אוטומטיות כלשהן כלולות בקובץ התוסף
   ' פקודות מאקרו אוטומטיות אינן רצות כאשר פותחים קובץ
   ' באמצעות השיטה Open.
   XL.Workbooks("xlquery.xla").RunAutoMacros 1

   Set XL = Nothing
 End Sub
				

מידע נוסף

מכיוון ש- Excel אינו טוען תוספים או קבצים מהספרייה XLStart כאשר אתה קורא ליישום כאובייקט אוטומציית OLE, יש לך שליטה מלאה על תהליך הטעינה. אם ברצונך לטעון תוסף, תוכל לטעון אותו ידנית.

התנהגות זו פירושה גם ששגיאות מאקרו, התראות על קבצים נעולים או התראות על קבצים לקריאה בלבד אינן מונעות טעינה של Excel כאשר היישום נקרא מהפקודה CreateObject. יתרון נוסף של התנהגות זו הוא שנדרש פחות זמן לטעון את Excel בהשוואה לטעינה עם תוספים וקבצים.

מידע נוסף

לקבלת מידע נוסף אודות אופן קבלת עזרה עבור Visual Basic for Applications, לחץ על מספר המאמר שלהלן כדי להציגו מתוך מאגר הידע Microsoft Knowledge Base:
226118 רשימת המשאבים הזמינים לעזור לך ללמוד תכנות עם Visual Basic for Applications (ייתכן שקישור זה מפנה לתוכן שחלק ממנו או כולו מופיע באנגלית)

מאפיינים

Article ID: 213489 - Last Review: יום ראשון 18 ספטמבר 2011 - Revision: 2.0
המידע במאמר זה חל על:
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
מילות מפתח 
kbautomation kbvba kbexpertiseinter kbdtacode kbprb kbprogramming KB213489

ספק משוב

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com