מתקבלת שגיאת זמן-ריצה 429 כאשר אתה הופך לאוטומטי יישומי Office

תרגומי מאמרים תרגומי מאמרים
Article ID: 828550 - View products that this article applies to.
עבור Microsoft Office XP, Office 2000, Office 97 גירסה של מאמר זה, ראה 244264.
הרחב הכל | כווץ הכל

On This Page

תקציר

בעת שימוש באופרטור חדש או בפונקציה CreateObject ב- Visual Basic כדי ליצור מופע של Microsoft Office היישום, ייתכן שתקבל את הודעת השגיאה הבאה:
שגיאת זמן ריצה '429': רכיב ActiveX אין אפשרות ליצור אובייקט
שגיאה זו מתרחשת כאשר Component Object Model (COM) אין אפשרות ליצור את אובייקט אוטומציה המבוקש, אובייקט אוטומציה ולכן אינו זמין ל- Visual Basic. שגיאה זו מתרחשת בכל המחשבים.

מאמר זה מתאר כיצד לאבחן ולפתור בעיות נפוצות אשר עלול לגרום לשגיאה זו.

מידע נוסף

ב- Visual Basic, קיימים כמה גורמים לשגיאה 429. השגיאה מתרחשת כל אחד מהתנאים הבאים מתקיים:
  • ישנה טעות ביישום.
  • ישנה טעות בתצורת המערכת.
  • אין רכיב חסר.
  • אין רכיב פגום.
כדי לאתר את הגורם לשגיאה, לבודד את הבעיה. אם תקבל שגיאה 429 במחשב לקוח, להשתמש במידע הבא כדי לבודד וכדי לפתור את השגיאה ביישומי Microsoft Office.

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

לבדוק את קוד

לפני שתפתור את השגיאה, נסה לבודד שורה בודדת של קוד העשויים להיות הגורם לבעיה.

אם גילית כי שורה בודדת של קוד להיות הגורם לבעיה, להשלים הליכים אלה:
  • ודא שהקוד משתמש יצירת אובייקט מפורשות.

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

    דוגמת קוד 1
    Application.Documents.Add 'DON'T USE THIS!!
    דוגמת קוד 2
    Dim oWordApp As New Word.Application 'DON'T USE THIS!!
    '... some other code
    oWordApp.Documents.Add
    שתי דוגמאות קוד אלה שימוש ביצירת אובייקט משתמע. MicrosoftOffice Word 2003 לא יופעל עד המשתנה נקרא לפחות פעם אחת.מאחר המשתנה עשוי להיקרא בחלקים שונים של התוכנית, ייתכן theproblem שקשה לאתר. ייתכן שיהיה קשה לוודא אם theproblem נגרמת כאשר אובייקט היישום נוצר אובייקט המסמך נוצר orwhen.

    במקום זאת, אתה canmake קריאות מפורשות כדי ליצור כל אובייקט בנפרד, כדלקמן.
    Dim oWordApp As Word.Application
    Dim oDoc As Word.Document
    Set oWordApp = CreateObject("Word.Application")
    '... some other code
    Set oDoc = oWordApp.Documents.Add
    כאשר אתה מבצע שיחות מפורשות כדי ליצור כל אובייקט בנפרד, theproblem קל לבודד. הדבר עשוי להפוך את הקוד לקריא יותר.
  • השתמש בפונקציה CreateObject במקום זאת ofusing האופרטור חדש בעת יצירת מופע של יישום anOffice.

    CreateObject functionclosely ממפה את תהליך יצירת לקוחות Microsoft Visual C++ רוב המשתמשים.הפונקציה CreateObject מאפשרת גם שינויים בה-CLSID של שרת בין גירסאות. באפשרותך להשתמש בפונקציה CreateObjectבאובייקטים מאוגדי מוקדם ועם אובייקטים איגוד מאוחר.
  • ודא המחרוזת "ProgID" המועבריםCreateObject נכון ולאחר מכן ודא המחרוזת "ProgID" היא גירסה עצמאיים. לדוגמה, השתמש stringinstead "Excel.Application" את השימוש המחרוזת "Excel.Application.8". המערכת נכשלת mayhave גירסה קודמת של Microsoft Office או גירסה חדשה יותר של MicrosoftOffice יותר מהגירסה שציינת במחרוזת "ProgID".
  • השתמש בפקודה Erl כדי הדוח linenumber של שורת קוד לא הצליחה. הדבר עשוי לסייע לך debugapplications אשר אין אפשרות להפעיל את IDE. הקוד הבאה מציינת אילואוטומציה אין אפשרות ליצור אובייקט (orMicrosoft Word של Microsoft Office Excel 2003):
    Dim oWord As Word.Application
     	Dim oExcel As Excel.Application
     	
     	On Error Goto err_handler
     	
     	1: Set oWord = CreateObject("Word.Application")
     	2: Set oExcel = CreateObject("Excel.Application")
     	
     	' ... some other code
     	
     	err_handler:
     	  MsgBox "The code failed at line " & Erl, vbCritical
    השתמש בפונקציה MsgBox ואת מספר שורות לשגיאה trackthe.
  • השתמש איגוד מאוחר כדלקמן:
    Dim oWordApp As Object
    אובייקטים של איגוד מוקדם דורשים שלהם ממשקים מותאמים אישית להיות בגבולות תהליך marshaledacross. אם אין אפשרות לסדר את ממשק מותאם אישית במהלךCreateObject או במהלך חדש, תקבל error429. אובייקט איגוד מאוחר משתמשת IDispatch את ממשק המוגדר על-ידי המערכת doesnot זה דרוש proxy מותאמים אישית להיות מסודר. השתמש באובייקט איגוד מאוחר כדי verifywhether שהליך זה יפעל כראוי.

    אם הבעיה מתרחשת onlywhen האובייקט הוא איגוד מוקדם, הבעיה היא ביישום שרת.בדרך כלל, באפשרותך להתקין מחדש את היישום כמתואר בסעיף "לבחון theAutomation שרת" במאמר זה כדי לפתור את הבעיה.

בדוק את שרת אוטומציה

הסיבה הנפוצה ביותר שגיאה להתרחש עם CreateObject או עם חדש היא בעיה עם יישום השרת. בדרך כלל, את התצורה של היישום או את תוכנית ההתקנה של היישום גורמת לבעיה. כדי לפתור בעיות, השתמש ההליכים שלהלן:
  • ודא כי היישום Office שברצונך toautomate מותקן במחשב המקומי. ודא שבאפשרותך להפעיל theapplication. כדי לעשות זאת, לחץ על התחל, לחץ עלהפעלהולאחר מכן נסה להפעיל את היישום. אם אינך יכול יישום runthe באופן ידני, היישום לא יפעל עד אוטומציה.
  • רשום מחדש את היישום כדלקמן:
    1. לחץ על התחלולאחר מכן לחץ על הפעל.
    2. בתיבת הדו-שיח הפעלה , הקלד את הנתיב של השרת ולאחר מכן צרף / RegServer עד סוף השורה.
    3. לחץ על אישור.

      היישום פועל בצורה שקטה. היישום אינו רשום מחדש של שרת COM.
    אם הבעיה מתרחשת משום שחסר מפתח רישום, שלבים אלה בדרך כלל לתקן את הבעיה.
  • בחן את המפתח LocalServer32 תחת ה-CLSID עבור theapplication שברצונך להפוך לאוטומטיות. ודא keypoints LocalServer32 אל המיקום הנכון עבור היישום. ודא כי שם הנתיב בתבנית נתיב קצר (DOS 8.3). אין לך לבצע רישום של serverby באמצעות שם נתיב קצר. עם זאת, שמות נתיבים ארוכים הכוללים embeddedspaces עלול לגרום לבעיות במערכות מסוימות.

    כדי לבחון את הנתיב keythat מאוחסן עבור השרת, הפעל את עורך הרישום של Windows, כדלקמן:
    1. לחץ על התחלולאחר מכן לחץ על הפעל.
    2. סוג regedit, ולאחר מכן לחץ על אישור.
    3. הזז המפתח HKEY_CLASSES_ROOT\CLSID.

      מזהי המחלקה עבור שרתי אוטומציה שנרשמו במערכת הם תחת מפתח זה.
    4. השתמש בערכים הבאים של מפתח מחלקה (clsid) כדי למצוא את המפתח המייצג את יישום Office שברצונך להפוך לאוטומטיות. בחן את המפתח LocalServer32 של מפתח מחלקה (clsid) עבור הנתיב.
      כווץ את הטבלההרחב את הטבלה
      שרת של officeמפתח מחלקה (clsid)
      Access.Application{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}
      Excel.Application{00024500-0000-0000-C000-000000000046}
      FrontPage.Application {04DF1015-7007-11D1-83BC-006097ABE675}
      Outlook.Application{0006F03A-0000-0000-C000-000000000046}
      PowerPoint.Application{91493441-5A91-11CF-8700-00AA0060263B}
      Word.Application{000209FF-0000-0000-C000-000000000046}
    5. ודא כי הנתיב תואם את המיקום בפועל של הקובץ.
    הערה שמות נתיב קצר אולי נראה הנכון כאשר הם אינם נכונים. Forexample, Office ו- Microsoft Internet Explorer (אם הם מותקנים intheir במיקומי ברירת המחדל) נתיב קצר שהוא דומה toC:\PROGRA~1\MICROS~X\ (היכןX הוא מספר). שם זה עשוי לא בתחילה appearto להיות שם נתיב קצר.

    כדי לקבוע אם הנתיב הנכון, בצע את הפעולות הבאות:
    1. לחץ על התחלולאחר מכן לחץ על הפעל.
    2. העתק את הערך מהרישום ולאחר מכן הדבק את הערך בתיבת הדו-שיח הפעלה .

      הערה הסר את הבורר /automation לפני הפעלת היישום.
    3. לחץ על אישור.
    4. ודא שהיישום פועל כראוי.

      אם היישום פועל לאחר שתלחץ על אישור, השרת רשום כראוי. אם היישום אינו פועל לאחר שתלחץ על אישור, החלף את ערך המפתח LocalServer32 הנתיב הנכון. השתמש בשם נתיב קצר אם ניתן.
  • לבדוק אם קיימים פגמים אפשריים של orof תבנית קובץ המשאבים Excel.xlb של normal. dot. בעיות עלולות להתרחש כאשר אתה הופך לאוטומטי MicrosoftWord או ב- Microsoft Excel אם אחד normal. dot ב- Word או theExcel.xlb קובץ משאבים ב- Excel פגום. כדי מחשב קבצים אלה, חפש כוננים קשיחים thelocal עבור כל המופעים של normal. dot או ofExcel.xlb.

    הערה עבור מערכות הפעלה Microsoft Windows 2000 או thatrun מערכות Microsoft Windows XP, ייתכן שתמצא מספר עותקים של קבצים אלה. קיים עותק isone של כל אחד מהקבצים האלה עבור כל משתמש הפרופיל שבו מותקן thesystem.

    לשנות באופן זמני את הקבצים normal. dot או את Excel.xlbfiles ולאחר מכן הפעל מחדש את מחשב אוטומציה. Word ו- Excel שניהם ליצור thesefiles אם אינך מצליח למצוא אותם. ודא שהקוד פועל. אם workswhen הקוד שנוצר קובץ normal. dot חדש, מחק את הקבצים ששינית את שמו. Thesefiles פגומים. אם הקוד אינו פועל, עליך לשנות שם אלה filesback על שמות הקבצים המקוריים שלהן כדי לשמור הגדרות מותאמות אישית שנשמרים קבצים inthese.
  • אם המערכת שלך פועל Windows 2000, הפעל את underthe יישום חשבון מנהל. שרתי office מחייבים גישה לקריאה/כתיבה על theregistry ועל כונן הדיסקים. ייתכן שרתי office לא נטען כראוי אם הגדרות האבטחה yourcurrent מנע גישת קריאה/כתיבה.

לבחון את המערכת

תצורת המערכת גם עלול לגרום לבעיות עם שרתי COM החוצה תהליך היצירה. כדי לפתור בעיות, השתמש בהליכים הבאים במערכת מקום התרחשותה של השגיאה:
  • לברר אם הבעיה מתרחשת עם שרת anyout תהליך. אם יש לך יישום העושה שימוש COMserver מסוים (כגון Word), מחשב שרת מחוץ לתהליך אחר כדי לוודא שהבעיה אינה עם השכבה COM עצמו. אם אין אפשרות ליצור anout של תהליך שרת ה-COM במחשב, להתקין מחדש את asdescribed קבצי מערכת OLE בסעיף 'התקנה מחדש של Microsoft Office' של מערכת ההפעלה כדי לפתור את הבעיה של orreinstall במאמר זה.
  • לבדוק את מספרי הגירסאות לאוטומציה thatmanage קבצי מערכת של OLE. קבצים אלה מותקנים בדרך כלל כערכה. מספרי הבנייה התאמה אלה filesmust. כלי שירות ההתקנה שתצורתן לא נקבעה כראוי יכול mistakenlyinstall את הקבצים בנפרד. פעולה זו גורמת הקבצים להיות לא תואמים. כדי avoidproblems עם אוטומציה, בחן את הקבצים כדי לוודא buildsare קבצים מתאימים.

    אוטומציה ממוקמים הקבצים באת Windows\System32directory או את הספריה Winnt\System32. בדוק את followingfiles.
    כווץ את הטבלההרחב את הטבלה
    שם קובץגירסהתאריך שינוי
    Asycfilt. dll3.50.5014בספטמבר 04,2002
    Oleaut32. dll3.50.5016בספטמבר 04,2002
    Olepro32.dll5.0.5014בספטמבר 04,2002
    Stdole2.tlb3.0.5014בספטמבר 04,2002
    כדי לבדוק את גירסת הקובץ, לחץ לחיצה ימנית על filein את סייר Windows ולאחר מכן לחץ על מאפיינים. שים לב thelast ארבע הספרות של גירסת הקובץ (מספר build) ואת התאריך thefile זו שונתה לאחרונה. ודא כי ערכים אלה זהים עבור כל הקבצים theautomation.

    הערה מספרי גירסה מוקדמת יותר ואת התאריכים קודמות הם retrievedfrom מחשב העושה שימוש מחשב Windows Server 2003 עם 2003installed של Office. מספרים ותאריכים אלה משמשים רק כדוגמאות. הערכים שלך אולי שונה.

    אם הקבצים אינם תואמים את בניית מספרים או תאריכים themodified, להוריד כלי חילוץ עצמי בו עדכונים automationfiles שלך.

    לקבלת מידע נוסף אודות אופן הגישה קבצי זמן הריצה, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
    235420 Vbrun60sp4.exe מתקינה קבצים בזמן ריצה של Visual Basic 6.0 SP4
  • השתמש בכלי השירות לקביעת תצורת המערכת (Msconfig.exe) כדי לבדוק את השירותים ואת מערכת ההפעלה עבור יישומים של ספקים חיצוניים עשויים להגביל את הקוד הפועל ביישום של Office. לקבלת מידע נוסף אודות Msconfig.exe, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
    310560 כיצד לפתור בעיות של שגיאות תצורה על-ידי שימוש בכלי השירות לקביעת תצורת המערכת ב- Windows XP
    לדוגמה, יישומים אוטומציה Outlook עלולה להיכשל מכיוון שאתה מפעיל תוכנית אנטי-וירוס בעל תכונות "הפריטים המוקפצים script".

    הערה רק לבטל את תוכנית האנטי-וירוס באופן זמני במערכת מחשב שאינו מחובר לרשת.

    לחלופין, בצע את הפעולות הבאות ב- Outlook כדי ביטול תוספות צד שלישי:
    1. בתפריט כלים , לחץ על אפשרויות.
    2. בכרטיסיה אחר , לחץ על אפשרויות מתקדמות.
    3. בתיבת הדו-שיח אפשרויות מתקדמות , לחץ על מנהל התוספות.
    4. לחץ כדי לנקות את תיבת הסימון עבור כל תוספת של צד שלישי.
    5. הפעל מחדש את Outlook.
    אם שיטה זו פותרת את הבעיה, פנה אל ספק האנטי-וירוס של צד שלישי לקבלת מידע נוסף אודות עדכון לתוכנית האנטי-וירוס.

התקן מחדש את Office

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

לקבלת מידע נוסף, לחץ על מספרי המאמרים הבאים כדי להציג את המאמרים מתוך מאגר הידע Microsoft Knowledge Base:
219423 כיצד להסיר את CD1 2000 Office
158658 כיצד להסיר לחלוטין את Microsoft Office 97

מידע נוסף

לקבלת מידע נוסף אודות פתרון בעיות של הודעת השגיאה '429', לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
240377 הבטחת Jet 3.5 מותקן כראוי (חלק I)
לקבלת מידע נוסף אודות דוגמאות קוד לאוטומציה של Office, בקר באתר האינטרנט הבא של Microsoft:
http://support.microsoft.com/ofd

מאפיינים

Article ID: 828550 - Last Review: יום חמישי 10 אוקטובר 2013 - Revision: 2.0
המידע במאמר זה חל על:
  • Microsoft Office Excel 2007
  • Microsoft Office SharePoint Designer 2007
  • Microsoft Office Outlook 2007
  • Microsoft Office Outlook 2003
  • Microsoft Office PowerPoint 2007
  • Microsoft Office PowerPoint 2003
  • Microsoft Office Word 2007
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Professional Edition
מילות מפתח 
kbexpertisebeginner kbtshoot kbprogramming kberrmsg kbautomation kbinfo kbmt KB828550 KbMthe
תרגום מכונה
חשוב: מאמר זה תורגם באמצעות תוכנת תרגום מכונה של Microsoft וייתכן שנערך לאחר מכן על-ידי קהילת Microsoftבאמצעות טכנולוגייתCommunity Translation Framework (CTF) או באמצעות תרגום אנושי. Microsoft מציעה לך גם מאמרים בתרגום אנושי, מאמרים בתרגום מכונה ומאמרים שנערכו על ידי הקהילה כדי לאפשר גישה למאמרים הקיימים במאגר הידע (Knowledge Base) שלMicrosoft בשפות שונות. מאמרים מתורגמים יכולים להכיל שגיאות באוצר המילים, בתחביר או בדקדוק. Microsoft אינה אחראית לחוסר דיוק, שגיאות או נזקים שייגרמו כתוצאה מטעויות בתכנים או משימוש בתכנים על ידי לקוחותיה.
כותרת מאמר זה באנגלית: 828550

ספק משוב

 

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