Jelenleg nem kapcsolódik az internethez. Várakozás a kapcsolat helyreállítására

Az Office-alkalmazások automatizálása 429-es jelű futásidejű hibát okoz

Az Office 2003 támogatása megszűnt

A Microsoft 2014. április 8-án megszüntette az Office 2003 terméktámogatását. Ez a változás kihatással van a szoftverfrissítésekre és a biztonsági beállításokra. Megtudhatja, hogy ez milyen következményekkel jár és hogyan tarthatja fenn rendszere védelmét.

A cikk Microsoft Office XP, Office 2000 és Office 97 programcsomagra vonatkozó változata a Tudásbázis következő számú cikke: 244264 (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.).
Összefoglaló
Ha a Microsoft Visual Basic szerkesztőben a New operátorral vagy a CreateObject függvénnyel létrehozza a Microsoft Office-alkalmazások egyikének egy új példányát, a következő hibaüzenet jelenhet meg:
Run-time error '429': ActiveX component can't create object (429. számú futásidejű hiba: Az ActiveX összetevő nem tudja létrehozni az objektumot)
A hiba akkor következik be, ha a COM nem tudja létrehozni a kért Automation objektumot, és az Automation objektum így nem érhető el a Visual Basic számára. Ez a probléma azonban nem érinti valamennyi számítógépet.

Jelen cikk a hiba leggyakoribb forrásait foglalja össze, valamint az egyes forrásokhoz kapcsolódó hibaelhárítási lépéseket tartalmazza.
További információ
A Visual Basic 429. számú hibájának számos különböző forrása lehet; például az alábbi hibatípusok bármelyike okozhatja:
  • Alkalmazáshiba
  • Hibás rendszerkonfiguráció
  • Hiányzó összetevő
  • Hibás összetevő
A hiba pontos forrásának azonosításához első lépésként meg kell állapítania annak típusát. Ha egy ügyfélszámítógép Microsoft Office-alkalmazásaiban jelentkezik a 429-es jelű hiba, a hiba típusának megállapításához és a hibaelhárításhoz kövesse az alábbi utasításokat.

Megjegyzés: Előfordulhat, hogy az alábbi információk némelyike a nem az Office-csomagba tartozó, COM-kiszolgálóként működő alkalmazásokra is érvényes, a jelen cikk tartalma azonban Office-alkalmazások használatát feltételezi.

A programkód átvizsgálása

Mielőtt hozzákezdene a hiba elhárításához, próbálja meg elkülöníteni az annak fellépéséért felelős programsort.

Ha úgy gondolja, hogy valóban egyetlen programsor felelős a hibáért, kövesse az alábbi lépéseket:
  • A programkódban kifejezetten deklarálja az objektumok létrehozását.

    A probléma forrását könnyebben azonosíthatja, ha annak helyét egyetlen műveletre szűkíti. Keressen például az alábbi példákhoz hasonló közvetett objektum-létrehozást.

    1. mintakód
    Application.Documents.Add 'Ne alkalmazza ezt a sort!
    2. mintakód
    Dim oWordApp As New Word.Application 'Ne alkalmazza ezt a sort!'... egyéb kódoWordApp.Documents.Add
    Ezek a kódok mind közvetett objektum-létrehozást alkalmaznak; a Microsoft Office Word 2003 nem indul el, amíg a változót a programkód meg nem hívja legalább egyszer. Mivel a változót a program számos különböző része meghívhatja, a probléma forrásának azonosítása bonyolult feladatot jelenthet. Emellett a probléma az Application és a Document objektum létrehozásához egyaránt kötődhet – hogy pontosan melyikhez, annak megállapítása szintén akadályokba ütközhet.

    A fenti okokból kifolyólag praktikusabb lehet, ha átírja a programkódot, hogy az közvetlen hívásokkal, külön-külön hozza létre az objektumokat; ilyen kód lehet például az alábbi.
    Dim oWordApp As Word.ApplicationDim oDoc As Word.DocumentSet oWordApp = CreateObject("Word.Application")'... egyéb kódSet oDoc = oWordApp.Documents.Add
    Ha közvetlen hívásokkal, külön-külön hozza létre az objektumokat, a probléma forrását könnyebben azonosíthatja, emellett pedig a kód is jelentősen átláthatóbbá válhat.
  • Az Office-alkalmazások új példányának létrehozásakor a New operátor helyett alkalmazza a CreateObject függvényt.

    A CreateObject függvény szorosan követi a legtöbb Microsoft Visual C++-ügyfél által alkalmazott létrehozási eljárást. A CreateObject függvény emellett a kiszolgáló osztályazonosítójának (CLSID) két verzió közötti módosítását is lehetővé teszi. A CreateObject függvény korai kötésű és késői kötésű objektumokhoz egyaránt használható.
  • Ellenőrizze, hogy a CreateObject függvénynek átadott „ProgID” karakterlánc megfelelő-e, illetve győződjön meg arról, hogy a „ProgID” karakterlánc verziófüggetlen. Ha például „Excel.Application.8” értéket lát, írja azt át „Excel.Application” értékre. Ha a verziófüggő „ProgID” karakterláncban megadottól eltérő verziójú Microsoft Office programcsomaggal rendelkezik, az is okozhatja a cikkben tárgyalt hibát.
  • Állapítsa meg az Erl paranccsal, hogy melyik programsor végrehajtásakor lép fel a hiba. Ez segíthet az integrált fejlesztői környezetben nem futtatható alkalmazások hibáinak felderítésében is. Az alábbi kóddal megállapíthatja, melyik Automation objektum (Microsoft Word vagy Microsoft Office Excel 2003) létrehozása során következik be a hiba:
    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") 	 	' ... egyéb kód 	 	err_handler: 	  MsgBox "Kódvégrehajtási hiba a következő sornál: " & Erl, vbCritical
    Keresse meg a hibát az MsgBox függvénnyel megjelenített üzenetpanelen szereplő sorszám alapján.
  • Alkalmazzon késői kötést, az alábbiak szerint:
    Dim oWordApp As Object
    A korai kötésű objektumok folyamatelhatárolásokon keresztül rendezett egyéni kapcsolatokat igényelnek. Ha az egyéni kapcsolat rendezése nem végezhető el a CreateObject függvény vagy New operátor meghívása alatt, az 429-es jelű hibát eredményez. A késői kötésű objektumok ezzel szemben az IDispatch rendszerkapcsolatot használják, mely nem igényli egyéni proxy rendezését. Késői kötésű objektumok alkalmazásával ellenőrizheti, hogy ez az eljárás megfelelően működik-e.

    Ha a probléma kizárólag az objektumok korai kötése esetén lép fel, akkor annak forrása a kiszolgálóalkalmazásban keresendő. Ilyen esetben a probléma elhárításához megpróbálkozhat az alkalmazás újratelepítésével, melyről további tudnivalókat a jelen cikk „Az automatizálási kiszolgáló vizsgálata” című szakaszában talál.

Az automatizálási kiszolgáló vizsgálata

A CreateObject függvénnyel és a New operátorral kapcsolatos hibák leggyakrabban a kiszolgálóalkalmazásból származtathatók; többnyire az alkalmazás konfigurációja vagy telepítési módja okozza a problémát. A hiba elhárításához kövesse az alábbi eljárásokat:
  • Ellenőrizze, hogy az automatizálni kívánt Office-alkalmazás telepítve van-e a számítógépre. Győződjön meg arról, hogy az alkalmazás ténylegesen futtatható; ehhez válassza a Start menü Futtatás parancsát, majd írja be vagy válassza ki az elérési utat és fájlnevet. Ha az alkalmazás manuálisan nem futtatható, az automatizálás sem működhet.
  • Regisztrálja újra az alkalmazást az alábbi lépésekkel:
    1. Kattintson a Start menü Futtatás parancsára,
    2. Írja be a megjelenő Futtatás mezőbe a kiszolgáló elérési útját, majd írja a /RegServer kapcsolót a parancssor végére.
    3. Kattintson az OK gombra.

      Az alkalmazás ekkor kezelőfelület nélkül indul el, és a háttérben futva újraregisztrálja saját magát COM-kiszolgálóként.
    Ha a problémát hiányzó beállításkulcsok okozzák, a fenti lépések végrehajtása többnyire elegendő annak elhárításához.
  • Vizsgálja meg az automatizálni kívánt alkalmazás CLSID kulcs alatt található LocalServer32 kulcsát. Győződjön meg arról, hogy a LocalServer32 kulcs megfelelő elérési utat tartalmaz. Lehetőség szerint biztosítsa, hogy az elérési út rövid (DOS 8.3-kompatibilis) formátumú legyen. A kiszolgáló regisztrálásához nem szükséges feltétlenül rövid formátumú elérési út, a hosszú formátumú elérési utak azonban szóközöket tartalmazhatnak, melyek bizonyos rendszerek esetén problémához vezethetnek.

    A kiszolgálóhoz tartozó elérési út ellenőrzéséhez indítsa el a Windows beállításszerkesztőjét:
    1. Kattintson a Start menü Futtatás parancsára,
    2. Írja be a regedit parancsot, majd kattintson az OK gombra.
    3. Nyissa meg a HKEY_CLASSES_ROOT\CLSID kulcsot.

      A regisztrált automatizálási kiszolgálók osztályazonosítói ezen a kulcson belül találhatók.
    4. Keresse meg a kívánt Office-alkalmazást az alábbi táblázatban szereplő osztályazonosítók alapján. Ezután keresse meg a LocalServer32 kulcs értékeként szereplő elérési utat.
      Office-kiszolgálóOsztályazonosító-kulcs
      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. Győződjön meg arról, hogy az elérési út megegyezik a fájl tényleges helyével.
    Megjegyzés: A rövid elérési utak akkor is hibásak lehetnek, ha ránézésre helyesnek tűnnek. Például az Office és a Microsoft Internet Explorer elérési útja egyaránt hasonló a következőhöz (alapértelmezett telepítési helyet feltételezve): C:\PROGRA~1\MICROS~X\ (ahol az X egy szám). Előfordulhat, hogy ez a név kezdetben nem rövid elérési útnak tűnik.

    Az elérési út helyességének ellenőrzéséhez:
    1. Kattintson a Start menü Futtatás parancsára,
    2. Másolja a beállításszerkesztőben látható értéket a Futtatás mezőbe.

      Megjegyzés: Az alkalmazás futtatása előtt törölje a parancs végéről az /automation kapcsolót.
    3. Kattintson az OK gombra.
    4. Ellenőrizze, hogy az alkalmazás megfelelően fut-e.

      Ha az alkalmazás az OK gombra való kattintás után elindul, a kiszolgáló megfelelően van regisztrálva. Amennyiben az alkalmazás nem indul el az OK gombra való kattintást követően, cserélje a LocalServer32 kulcs értékét a megfelelő elérési útra. Alkalmazzon rövid elérési utat, ha van rá lehetősége.
  • Ellenőrizze, hogy nem hibás-e a Normal.dot sablonfájl vagy az Excel.xlb erőforrásfájl. A Microsoft Word és Microsoft Excel automatizálása során hiba léphet fel, ha a Word program Normal.dot sablonja vagy az Excel program Excel.xlb erőforrásfájlja hibás. A fájlok teszteléséhez keresse meg a Normal.dot vagy Excel.xlb összes példányát.

    Megjegyzés: Microsoft Windows 2000 vagy Microsoft Windows XP rendszer esetén több példányt is találhat, mivel minden egyes felhasználói profil mappájában található egy-egy másolat ezekből a fájlokból.

    Ideiglenesen nevezze át a Normal.dot vagy az Excel.xlb fájlokat, majd futtassa ismét az automatizálási tesztet. Ha a fájlok nem találhatók, a Word és az Excel automatikusan létrehozza azokat. Ellenőrizze a programkód működését. Ha a kód működik a frissen létrehozott fájlokkal, a korábban átnevezett példányokat törölheti, mivel azok sérültek. Amennyiben azonban a kód továbbra sem működik, a fájlokban tárolt egyéni beállítások megőrzéséhez ajánlott visszaállítani azok eredeti fájlnevét.
  • Ha Windows 2000 rendszert használ, futtassa az alkalmazást a Rendszergazda fiókból. Az Office-kiszolgálók olvasási és írási hozzáférést igényelnek a beállításjegyzékhez és a merevlemezhez, ezért ha ezeket a funkciókat biztonsági beállítások gátolják, az Office-kiszolgálók működésében hiba léphet fel.

A rendszer vizsgálata

A fentiek mellett a rendszerkonfiguráció is gátolhatja a folyamaton kívüli COM-kiszolgálók létrehozását. E hibaforrás ellenőrzéséhez járjon el az alábbiak szerint:
  • Ellenőrizze, hogy a probléma bármely, folyamaton kívüli kiszolgálónál jelentkezik-e. Ha rendelkezik olyan alkalmazással, amely egy adott COM-kiszolgálót használ (például a Word programot), tesztelje azt egy másik, folyamaton kívüli kiszolgálóval annak ellenőrzése végett, hogy a probléma nem magában a COM-rétegben keresendő-e. Ha azt tapasztalja, hogy egyetlen, folyamaton kívüli COM-kiszolgáló sem hozható létre, a probléma megoldásához telepítse újra az OLE rendszerfájlokat a jelen cikk „A Microsoft Office újratelepítése” című szakaszában írottak szerint (vagy telepítse újra a teljes operációs rendszert).
  • Ellenőrizze az automatizálásért felelős OLE rendszerfájlok verziószámát. Ezek a fájlok többnyire készletként települnek a számítógépre, ezért megegyező buildszámmal kell rendelkezniük. Egy helytelenül konfigurált telepítőprogram hibásan külön-külön is telepíthet fájlokat, mely akár a jelen probléma okozója is lehet. E lehetőség kizárásához vizsgálja meg a fájlok buildszámát.

    Az automatizálási fájlok a Windows\System32 vagy a Winnt\System32 mappában találhatók. Az alábbi listában szereplő fájlokat keresse.
    FájlnévVerzióMódosítva
    Asycfilt.dll3.50.50142002.09.04.
    Oleaut32.dll3.50.50162002.09.04.
    Olepro32.dll5.0.50142002.09.04.
    Stdole2.tlb3.0.50142002.09.04.
    A verziószám megjelenítéséhez kattintson jobb gombbal a fájl Windows Intézőbeli ikonjára, majd válassza a Tulajdonságok parancsot. Jegyezze fel a verziószám utolsó négy számjegyét (a buildszámot) és a fájl módosításának dátumát. Ezeknek az értékeknek az összes automatizálási fájl esetében azonosnak kell lenniük.

    Megjegyzés: Windows Server 2003 rendszer és Office 2003 programcsomag esetén a fentinél korábbi verziószámot és dátumot láthat. A listában szereplő számok és dátumok csak példák; az értékek ettől eltérőek is lehetnek.

    Ha a fájlok buildszáma vagy módosítási dátuma nem egyezik, töltsön le egy, az automatizálási fájlok frissítésére szolgáló önkicsomagoló segédprogramot.

    A futásidejű fájlok beszerzéséről a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
    235420 Vbrun60sp4.exe: a Visual Basic 6.0 SP4 futásidejű fájljainak telepítése (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
  • Futtassa a Rendszerkonfigurációs segédprogramot (Msconfig.exe) a külső gyártóktól származó szolgáltatások és a rendszerindításkor betöltődő programok ellenőrzéséhez. Előfordulhat, hogy e programok valamelyike korlátozza az Office-alkalmazás kódfuttatási funkcióit. Az Msconfig.exe segédprogramról a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
    310560 Hibaelhárítás a Windows XP Rendszerkonfigurációs segédprogramja segítségével
    Az Outlook automatizálását például meggátolhatja egy háttérben futó víruskereső program, ha az rendelkezik parancsfájlblokkoló szolgáltatással.

    Megjegyzés: A víruskereső program ideiglenes letiltása csak hálózathoz nem csatlakozó tesztrendszer esetén ajánlott.

    Emellett az Outlook külső gyártóktól származó bővítményeinek letiltásával is próbálkozhat:
    1. Kattintson az Eszközök menü Beállítások parancsára.
    2. Az Egyéb lapon kattintson a Speciális beállítások gombra.
    3. Kattintson a Speciális beállítások párbeszédpanel Bővítménykezelő fülére.
    4. Kattintással törölje az összes, külső gyártótól származó bővítmény jelölőnégyzetét.
    5. Indítsa újra az Outlook programot.
    Ha a fenti eljárás végrehajtásával a probléma megoldódik, lépjen kapcsolatba a külső gyártóval a letiltott program frissítésére vonatkozó információkért.

Az Office újratelepítése

Ha a fenti lépések egyike sem oldotta meg a problémát, próbálkozzon az Office eltávolításával és ismételt telepítésével. A Microsoft azt javasolja, hogy először távolítsa el a telepített példányt, és csak azután telepítse azt újra, az Office eredeti telepítőlemezéről.

A Microsoft Tudásbázis kapcsolódó cikkei:
219423 Az Office 2000 alkalmazáscsomag 1. CD-jéről telepített tartalom eltávolítása (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
158658 A Microsoft Office 97 teljes eltávolítása (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
Hivatkozások
A 429-es jelű hiba elhárításáról a Microsoft Tudásbázis alábbi cikkében is tájékozódhat:
240377 A Jet 3.5 megfelelő telepítése (I. rész) (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
Az Office automatizálásával kapcsolatban további információt és mintakódokat a Microsoft következő webhelyén találhat:
ACC2007 XL2007 SPD2007 WD2007 OL2007 PPT2007
Tulajdonságok

Cikkazonosító: 828550 - Utolsó ellenőrzés: 05/08/2007 08:47:00 - Verziószám: 5.2

Microsoft Office Excel 2007, Microsoft Office Excel 2003, Microsoft Office SharePoint Designer 2007, Microsoft Office FrontPage 2003, Microsoft Office Outlook 2007, Microsoft Office Outlook 2003, Microsoft Office PowerPoint 2007, Microsoft Office PowerPoint 2003, Microsoft Office Word 2007, Microsoft Office Word 2003, Microsoft Office Access 2007, Microsoft Office Access 2003, Microsoft Visual Basic Enterprise Edition for Windows 6.0, Microsoft Visual Basic 5.0 Enterprise Edition, Microsoft Visual Basic 6.0 Professional Edition, Microsoft Visual Basic 5.0 Professional Edition

  • kberrmsg kbinfo kbtshoot kbprogramming kbautomation kbexpertisebeginner KB828550
Visszajelzés
t>