Súhrnné informácie
Pri použití nový operátor alebo funkciu CreateObject v programe Microsoft Visual Basic, vytvoriť inštanciu aplikácie Microsoft Office, zobrazí sa nasledujúce chybové hlásenie:
Chyba spustenia "429": súčasť ActiveX nemôžete vytvoriť objekt
Táto chyba sa vyskytuje, keď Component Object Model (COM) nie je možné vytvoriť požadovaný objekt automatizácie a objekt automatizácie je k dispozícii Visual Basic. Tento problém sa nevyskytuje na všetkých počítačoch. Tento článok popisuje, ako chcete diagnostikovať a riešiť problémy, ktoré môžu spôsobiť túto chybu.
Ďalšie informácie
Visual Basic, existuje niekoľko príčin chyba 429. Chyba sa vyskytuje, ak je splnená niektorá z nasledovných podmienok:
-
Nie je chyba v aplikácii.
-
Nie je chyba v konfigurácii systému.
-
Je chýbajúce súčasti.
-
Je poškodené súčasti.
Zistiť príčinu chyby identifikovať problém. Ak sa zobrazí hlásenie "429" chyba na klientskom počítači, použite tieto informácie identifikovať a vyriešiť chyby v aplikáciách Microsoft Office. Poznámka: Niektoré z týchto informácií môžu tiež požiadať o Office COM servery. Však tento článok predpokladá, že chcete automatizovať aplikácie balíka Office.
Skontrolujte kód
Skôr, než sa vyriešiť problém, skúste určiť jeden riadok kódu, ktoré môžu spôsobovať problém. Ak zistíte, že jeden riadok kódu môže byť príčinou problému, použite nasledujúce postupy:
-
Uistite sa, že kód použije vytváranie explicitné objektu. Problémy sa ľahšie zistiť, či sú sú obmedzené na jednu akciu. Napríklad, pozrite sa na vytváranie implicitné objektu, používaný ako jeden z nasledujúcich krokov. Vzorový kód 1
Application.Documents.Add 'DON'T USE THIS!!
Vzorový kód 2
Dim oWordApp As New Word.Application 'DON'T USE THIS!! '... some other code oWordApp.Documents.Add
Oba tieto vzorky kód použiť vytváranie implicitné objektu. Microsoft Office Word 2003 sa nespustí, kým premennej nazýva aspoň raz. Pretože premenná sa nazýva v rôznych častiach programu, problém môže byť ťažké nájsť. Je ťažké zistiť, či problém spôsobuje pri vytvorení objektu alebo pri vytváraní objekt dokumentu . Namiesto toho môžete volať explicitné vytvoriť každý objekt samostatne, ako.
Dim oWordApp As Word.Application Dim oDoc As Word.Document Set oWordApp = CreateObject("Word.Application") '... some other code Set oDoc = oWordApp.Documents.Add
Keď explicitné vytvoriť každý objekt samostatne, problém je ľahšie identifikovať. To môže tiež jednoduchšie kód prečítať.
-
Pri vytváraní inštancie aplikácie balíka Office, použite funkciu CreateObject namiesto nového operátora. CreateObject funkcia úzko mapuje proces vytvorenia používajúcich väčšina klientov Microsoft Visual C++. CreateObjectfunkcia umožňuje zmeny v CLSID servera medzi verziách. Môžete použiť CreateObjectskoré viazané objekty a oneskorené viazané objekty.
-
Skontrolujte, či reťazec "ProgID", ktorý je CreateObject je správne a potom skontrolujte, či reťazec "ProgID" verzia nezávislé. Napríklad použiť reťazec "Excel.Application" namiesto "Excel.Application.8" reťazec. Systému, ktoré môžu mať staršiu verziu balíka Microsoft Office alebo novšiu verziu balíka Microsoft Office než verzia zadané v reťazci "ProgID".
-
Použite Erl príkaz hlásiť číslo riadka kódu, ktorý nie je úspešná. To vám môže pomôcť ladenie aplikácií, ktoré sa nedá spustiť v IDE. Nasledujúci kód vám ktorý automatizácie objekt sa nedá vytvoriť (Microsoft Word alebo 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
Použite funkciu MsgBox a číslo na sledovanie chýb.
-
Použitie koncom väzby:
Dim oWordApp As Object
Skoré viazané objekty vyžadujú svojich vlastných rozhraní marshaled hranice procesu. Ak vlastné rozhranie nemôže byť marshaled počas CreateObject alebo nové, dostanete "429" chybové hlásenie. Oneskorené viazané objekt používa IDispatch rozhrania definované systémom, ktorý nevyžaduje vlastné proxy marshaled. Pomocou objektu oneskorené viazané overte, či tento postup funguje správne. Ak sa problém vyskytuje len v prípade, že objekt sa čoskoro partnera, problém je v aplikácii servera. Zvyčajne môžete preinštalovať aplikáciu podľa pokynov v časti "Kontrola automatizačný Server" tohto článku problém.
Kontrola automatizačný server
Najčastejšou príčinou chyby sa vyskytujú pri používaní CreateObject alebo nové je problém, ktorý ovplyvňuje serverovú aplikáciu. Zvyčajne konfigurácie aplikácie alebo nastavením aplikácie spôsobuje problém. Riešenie, použiť nasledujúce postupy:
-
Skontrolujte, či aplikácia balíka Office, ktorý chcete automatizovať nainštalovaný na lokálnom počítači. Uistite sa, že spustíte aplikáciu. Chcete urobiť, kliknite na tlačidlo Štart, kliknite na tlačidlo Spustitea skúste spustiť aplikáciu. Ak nemôžete spustiť aplikáciu manuálne, aplikácia nebude fungovať prostredníctvom automatizácie.
-
Opätovne zaregistrujte aplikáciu takto:
-
Kliknite na tlačidlo Štarta kliknite na položku Spustiť.
-
V dialógovom okne Spustiť zadajte cestu servera a potom pripojiť/regserver na koniec riadka.
-
Kliknite na tlačidlo OK. Aplikácia sa spúšťa silently. Aplikácia je znovu ako COM server.
Ak sa problém vyskytuje, pretože chýba kľúč databázy registry, tento postup zvyčajne problém.
-
-
Skontrolujte LocalServer32 kľúča pod identifikátor CLSID pre aplikáciu, ktorú chcete automatizovať. Uistite sa, že LocalServer32 kľúča odkazuje na správne umiestnenie aplikácie. Skontrolujte názov cesty vo formáte krátke cestu (DOS 8.3). Nemáte zaregistrovať server pomocou názvu krátke cesty. Však dlhé cesty názvy, ktoré zahŕňajú vložený priestory môže spôsobiť problémy na niektorých systémoch. Preskúmať cestu kľúč uložený na serveri, spustite Editor databázy Registry systému Windows, takto:
-
Kliknite na tlačidlo Štarta kliknite na položku Spustiť.
-
Zadajte príkaz regedita kliknite na tlačidlo OK.
-
Prejdite na kľúč HKEY_CLASSES_ROOT\CLSID. Identifikátor CLSID pre servery registrované automatizácie systému sa v tomto kľúči.
-
Tieto hodnoty kľúča CLSID môžete použiť nájsť kľúč, ktorý predstavuje aplikáciu balíka Office, ktorý chcete automatizovať. Skontrolujte LocalServer32 kľúča CLSID kľúča cestu.
Office server
Kľúč CLSID
Access.Application
{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}
Excel.Application
{00024500-0000-0000-C000-000000000046}
Outlook.Application
{0006F03A-0000-0000-C000-000000000046}
PowerPoint.Application
{91493441-5A91-11CF-8700-00AA0060263B}
Word.Application
{000209FF-0000-0000-C000-000000000046}
-
Skontrolujte cestu k uistite sa, že zodpovedá aktuálne umiestnenie súboru.
Poznámka: Krátke cesty názvy môže zdať správne, keď nie sú správne. Napríklad balík Office a program Microsoft Internet Explorer (ak sú inštalované v ich predvolené umiestnenia) mať krátke cesty podobné C:\PROGRA~1\MICROS~X\ (kde X je číslo). Názov pôvodne nemusia byť názov krátke cesty. Ak chcete zistiť, či je správna cesta, postupujte nasledovne:
-
Kliknite na tlačidlo Štarta kliknite na položku Spustiť.
-
Skopírujte hodnotu z databázy registry a potom prilepte hodnoty v dialógovom okne Spustiť . Poznámka:Odstrániť/Automatizácia prepnite pred spustením aplikácie.
-
Kliknite na tlačidlo OK.
-
Skontrolujte, či aplikácia pracuje správne. Ak aplikácia sa spúšťa kliknutím na tlačidlo OK, server je správne zaregistrovaný. Ak aplikácia nepracuje po kliknutí na tlačidlo OK, nahradiť hodnotu LocalServer32 Key s správnu cestu. Ak môžete, použite názov krátke cesty.
-
-
Testovanie možné poškodenie šablónu Normal.dot alebo prostriedkov Excel.xlb. Problémy sa môžu vyskytnúť, keď môžete automatizovať Microsoft Word alebo Microsoft Excel, ak šablónu Normal.dot v programe Word, alebo súbor prostriedkov Excel.xlb v programe Excel je poškodený. Test týchto súborov, vyhľadávanie miestnych pevných diskov pre všetky výskyty Normal.dot alebo Excel.xlb. Poznámka: Môžete nájsť viacero kópií týchto súborov. Existuje jedna kópia každého z týchto súborov pre každý profil používateľa, ktorý je nainštalovaný v systéme. Dočasne premenujte súbor Normal.dot alebo Excel.xlb súbory a spustite test automatizácie. Word a Excel ako vytvoriť tieto súbory, ak sa nedá nájsť. Overte, že kód funguje. Ak kód funguje, keď sa vytvorí nový súbor Normal.dot, odstráňte súbory, ktoré ste premenovali. Tieto súbory sú poškodené. Ak kód nefunguje, musíte obnoviť súbory na ich pôvodné názvy súborov na uloženie vlastné nastavenia, ktoré sú uložené v týchto súboroch.
-
Spustenie aplikácie pod kontom správcu. Serverové produkty balíka Office vyžadujú čítanie/zápis do databázy registry a disku. Serverové produkty balíka Office môže nenačíta správne, ak aktuálne nastavenie zabezpečenia zakázať prístup k súboru.
Kontrola systému
Konfigurácia systému môže tiež spôsobiť problémy na vytvorenie z procesu COM servery. Riešenie, použite nasledovné metódy v systéme, v ktorom sa chyba vyskytuje:
-
Určite, či sa problém vyskytuje s žiadne z procesu servera. Ak aplikácia používa najmä COM server (napríklad Word), vyskúšať rôzne out proces server uistite sa, či problém nie je vyskytujúce COM vrstva, sama. Ak z procesu COM server nie je možné vytvoriť v počítači, OLE systémové súbory, ako je popísané v časti "Preinštalovať balík Microsoft Office" v tomto článku na preinštalovanie alebo preinštalovať operačný systém na vyriešenie problému.
-
Skontrolujte čísla verzií OLE systémové súbory, ktoré spravujú automatizácie. Tieto súbory sú zvyčajne nainštalované ako súbor. Tieto súbory sa musí zhodovať zostava čísla. Nesprávne nakonfigurované nastavenia pomôcka omylom nainštalovať súbory samostatne. To spôsobuje nesúlad súborov. Vyhnete sa v automatizácii, skontrolujte súbory, uistite sa, že verzie súborov sú uzavreté. Automatizácia súbory nachádzajú v priečinku Windows\System32. Skontrolujte nasledujúce súbory.
File name
Verzia
Dátum úpravy
Asycfilt.dll
10.0.16299.15
29. septembra 2017
Ole32.dll
10.0.16299.371
29. marec 2018
Oleaut32.dll
10.0.16299.431
3. mája 2018
Olepro32.dll
10.0.16299.15
29. septembra 2017
Stdole2.tlb
3.0.5014
29. septembra 2017
Skontrolujte verziu súboru, kliknite pravým tlačidlom myši na súbor v programe Windows Prieskumník a kliknite na položku Vlastnosti. Všimnite si posledné štyri číslice verziu súboru (číslo) a dátum poslednej úpravy súboru. Uistite sa, že tieto hodnoty sú rovnaké pre všetky súbory automatizácie. Poznámka: Tieto súbory sú pre systém Windows 10 verzia 1709, zostava 16299.431. Tieto čísla a dátumy sú len príklady. Hodnoty môžu byť rôzne.
-
Použite pomôcku konfigurácie systému (Msconfig.exe) kontrola spustenia služby a systém pre aplikácie tretej strany, ktoré môže ovplyvniť spustený kód v aplikácii balíka Office. Ďalšie informácie o Msconfig.exe, pozrite si nasledujúci článok databázy Microsoft Knowledge Base:
181966 Pomôcka konfigurácie systému Rozšírené riešenie problémov nastavenia Napríklad Automatizácia Outlook aplikácie môže zlyhať, pretože používate antivírusový program, ktorý obsahuje "script blocker". Poznámka: Vypnite antivírusový program len dočasne na testovací systém, ktorý nie je pripojený k sieti. Prípadne postupujte v programe Outlook vypnúť doplnky tretej strany: Ak tento postup problém vyrieši, obráťte sa na dodávateľov antivírusového ďalšie informácie o aktualizáciu antivírusového programu.
-
V ponuke súbor kliknite na položku Možnostia kliknite na tlačidlo Doplnky.
-
Kliknite na tlačidlo Spravovať doplnky coma kliknite na tlačidlo Prejsť. Poznámka: Doplnky COM dialógové okno.
-
Zrušte začiarknutie políčka pre všetky doplnok tretej strany, a kliknite na tlačidlo OK.
-
Reštartujte program Outlook.
-
Preinštalovanie balíka Office
Ak žiadny z predchádzajúcich postupov problém nevyrieši, odstránenie a preinštalovanie balíka Office.
Ďalšie informácie nájdete v článkuOffice:
Prevziať a nainštalovať alebo preinštalovať Office 365 alebo Office 2016 pre PC alebo Mac
Odkazy
Ďalšie informácie o Office automatizácie a ukážky kódu, nájdete na nasledujúcej webovej lokalite spoločnosti Microsoft: