Přihlásit se pomocí účtu Microsoft
Přihlaste se nebo si vytvořte účet.
Dobrý den,
Vyberte jiný účet.
Máte více účtů.
Zvolte účet, pomocí kterého se chcete přihlásit.

Shrnutí

Když použijete operátor New nebo funkci CreateObject v jazyce Microsoft Visual Basic k vytvoření instance aplikace sady Microsoft Office, můžete obdržet následující chybovou zprávu:

Chyba spuštění '429': součást ActiveX nemůže vytvořit objekt

K této chybě dochází, když modelu COM (Component Object) nemůže vytvořit požadovaný objekt Automation a objekt Automation je proto k dispozici pro jazyk Visual Basic. K této chybě nedochází ve všech počítačích. Tento článek popisuje, jak diagnostikovat a řešit běžné problémy, které mohou způsobit tuto chybu.

Další informace

V jazyce Visual Basic existuje několik příčin chyby 429. K této chybě dojde, pokud je splněna některá z následujících podmínek:

  • Je chyba v aplikaci.

  • V konfiguraci systému je chyba.

  • Je chybějící součásti.

  • Je poškozené součásti.

Chcete-li zjistit příčinu chyby, izolujte problém. Pokud obdržíte "429" chybová zpráva v klientském počítači, použijte následující informace k zjištění a vyřešení chyby v aplikacích Microsoft Office. Poznámka Některé z uvedených informací může také použít servery COM sady Office. Tento článek předpokládá, že chcete automatizovat aplikace systému Office.

Zkontrolujte kód

Před odstraňování došlo k chybě, pokuste se izolovat řádek kódu, který může být příčinou problému. Pokud zjistíte, že jediný řádek kódu může být příčinou problému, proveďte následující postupy:

  • Ujistěte se, zda kód používá explicitní vytváření objektů. Problémy se snáze identifikují, pokud je zúžen na jednu akci. Hledejte například implicitní vytvoření objektu používaný jako jednu z následujících akcí. Ukázka kódu 1

    Application.Documents.Add 'DON'T USE THIS!!

    Ukázkový kód 2

    Dim oWordApp As New Word.Application 'DON'T USE THIS!!
    '... some other code
    oWordApp.Documents.Add

    Oba tyto příklady kódu používají implicitní vytváření objektů. Microsoft Office Word 2003 nelze spustit, dokud proměnná se nazývá alespoň jednou. Protože proměnná může být volána v různých částech programu, může být obtížné najít problém. Může být složité ověřit, zda je problém způsoben při vytvoření objektu Application nebo objektu dokumentu je vytvořena. Místo toho můžete provést explicitní volání vytvořit každý objekt samostatně, tj.

    Dim oWordApp As Word.Application
    Dim oDoc As Word.Document
    Set oWordApp = CreateObject("Word.Application")
    '... some other code
    Set oDoc = oWordApp.Documents.Add

    Pokud provedete explicitní volání vytvořit každý objekt samostatně, je snazší izolovat problém. To může také zjednodušit kód ke čtení.

  • Při vytváření instance aplikace systému Office, použijte funkci CreateObject namísto operátoru New . Funkce CreateObject podrobně mapuje proces tvorby, používaný většinou klientů jazyka Microsoft Visual C++. Metoda CreateObjectfunkce také umožňuje změny v identifikátoru třídy CLSID serveru mezi verzemi. Můžete použít CreateObjectfunkce s časnou vazbou a pozdní vazbou objekty.

  • Ověřte, zda řetězce ProgID, který je předán CreateObject je správný a potom ověřte, zda řetězce ProgID, nezávislé na verzi. Například použijte řetězec "Excel.Application" místo pomocí řetězce "Excel.Application.8". Systém, který může být starší verze sady Microsoft Office nebo novější verzi sady Microsoft Office, než je verze, kterou jste zadali v řetězce ProgID.

  • Použijte příkaz Erl nahlásit číslo řádku na řádek kódu, který není úspěšný. To může pomoci při ladění aplikací, které nemohou běžet v rozhraní IDE. Následující kód poznáte, který objekt Automation nelze vytvořit (Microsoft Word nebo 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

    K vyhledání chyby použijte funkci MsgBox a číslo řádku.

  • Použijte pozdní vazba takto:

    Dim oWordApp As Object

    Objekty s časnou vazbou vyžadují své vlastní rozhraní zařazována přes hranice procesu. Pokud nelze zařadit vlastní rozhraní během CreateObject nebo Nový, "429" chybová zpráva. Objekt pozdní vazbou používá systémem definované rozhraní IDispatch nevyžaduje vlastní proxy zařazována. Pomocí objektu pozdní vazbou ověřte, že tento postup funguje správně. Pokud k potížím dochází pouze v případě, že je objekt časnou vazbou, problém je v serverové aplikaci. Obvykle můžete přeinstalovat aplikace, jak je popsáno v části "Zkontrolujte automatizační Server" tohoto článku vyřešit.

Zkontrolujte automatizační server

Nejčastější příčinou problému dojít při použití Funkce CreateObject nebo New je problém, který ovlivňuje serverové aplikace. Konfigurace aplikace nebo instalace aplikace obvykle způsobí potíže. K řešení použijte následující metody:

  • Ověřte, že chcete automatizovat aplikace systému Office nainstalované v místním počítači. Ujistěte se, že můžete spustit aplikaci. Chcete-li to provést, klepněte na tlačítko Start, klepněte na tlačítko Spuštěnía potom zkuste spustit aplikaci. Pokud aplikaci nelze spustit ručně, nebude fungovat prostřednictvím automatizace.

  • Znovu zaregistrujte aplikaci následujícím způsobem:

    1. Klepněte na tlačítko Starta potom klepněte na příkaz Spustit.

    2. V dialogovém okně Spustit zadejte cestu k serveru a potom připojit na konec řádku/regserver .

    3. Klikněte na tlačítko OK. Aplikace bude spuštěna bez zásahu uživatele. Aplikace je přeregistrována jako COM server.

    Pokud k problému dochází, protože chybí klíč registru, tyto kroky obvykle problém.

  • Zkontrolujte klíč LocalServer32 v identifikátoru třídy CLSID pro aplikaci, kterou chcete automatizovat. Ujistěte se, že klíč LocalServer32 odkazuje na správné umístění aplikace. Ujistěte se, zda je název cesty ve formátu krátké cesty (DOS 8.3). Nemáte k registraci serveru pomocí krátký název cesty. Dlouhý název cesty s vloženými mezerami však může způsobit problémy u některých systémů. Chcete-li zkontrolovat klíč cesty, která je uložena na serveru, spusťte Editor registru systému Windows takto:

    1. Klepněte na tlačítko Starta potom klepněte na příkaz Spustit.

    2. Zadejte příkaz regedita klepněte na tlačítko OK.

    3. Přejděte na klíč HKEY_CLASSES_ROOT\CLSID. Identifikátory CLSID pro registrované automatizační servery v systému jsou pod tímto klíčem.

    4. Pomocí následujících hodnot klíče CLSID vyhledejte klíč, který představuje aplikaci systému Office, kterou chcete automatizovat. Zkontrolujte klíč LocalServer32 klíč CLSID cesta.

      Office server

      Klíč 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}

    5. Zkontrolujte cestu a ujistěte se, že odpovídá skutečné umístění souboru.

    Poznámka Krátké názvy cesty se mohou zdát správné když nejsou správné. Například Office a aplikaci Microsoft Internet Explorer (pokud jsou nainstalovány do výchozího umístění) mají krátkou cestu, která se podobá C:\PROGRA~1\MICROS~X\ (kde X je číslo). Tento název možná nezdá být krátký název cesty. Chcete-li zjistit, zda je cesta správná, postupujte takto:

    1. Klepněte na tlačítko Starta potom klepněte na příkaz Spustit.

    2. Zkopírujte hodnotu z registru a vložte hodnotu v dialogovém okně Spustit . Poznámka Před spuštěním aplikace, odeberte přepínač/Automation .

    3. Klikněte na tlačítko OK.

    4. Ověřte, zda se aplikace spustí správně. Pokud se aplikace spustí po klepnutí na tlačítko OK, server je správně zaregistrována. Pokud aplikace se nespustí po klepnutí na tlačítko OK, nahraďte hodnotu v klíči LocalServer32 správnou cestou. Pokud je to možné, použijte krátký název cesty.

  • Test poškození šablony Normal.dot nebo soubor prostředku Excel.xlb. Problémy mohou nastat při automatizaci aplikace Microsoft Word nebo Microsoft Excel v případě poškození buď šablony Normal.dot v aplikaci Word nebo soubor prostředku Excel.xlb v aplikaci Excel. Chcete-li otestovat tyto soubory, Hledat místní pevné disky pro všechny instance šablony Normal.dot nebo Excel.xlb. Poznámka Můžete najít více kopií těchto souborů. Existuje jedna kopie každého z těchto souborů pro každý profil uživatele, který je nainstalován v systému. Dočasně přejmenujte soubory Normal.dot a Excel.xlb a znovu spusťte test automatizace. Word a Excel i vytvoření těchto souborů, pokud nebudou moci najít. Ověřte, zda kód funguje. Jestliže kód funguje, když je vytvořen nový soubor Normal.dot, odstraňte soubory, které jste přejmenovali. Tyto soubory jsou poškozeny. Pokud kód nefunguje, musíte vrátit tyto soubory do jejich původních názvů souborů, chcete-li uložit vlastní nastavení uložené v těchto souborech.

  • Spusťte aplikaci pod účtem správce. Servery Office vyžadují přístup pro čtení i zápis do registru a na disk. Servery Office nemusí správně načíst, pokud aktuální nastavení zabezpečení Odepřít přístup pro čtení i zápis.

Zkontrolujte systém

Konfigurace systému může také způsobit problémy pro vytvoření serverů COM mimo proces. Chcete-li vyřešit, použijte následující metody v systému, ve kterém dochází k chybě:

  • Zjistěte, zda k problému dochází na libovolný server out-of-process. Pokud máte aplikaci, která používá určitý server COM (například Word), vyzkoušejte jiný server out-of-process a ujistěte se, že problém není v samotné vrstvy COM. vyskytující. Pokud server out-of-process COM nelze vytvořit v počítači, znovu nainstalovat soubory OLE systému, jak je popsáno v části "Přeinstalovat Microsoft Office" tohoto článku nebo přeinstalovat operační systém, chcete-li vyřešit tento problém.

  • Zkontrolujte čísla verzí u systémových souborů OLE, které řídí automatizaci. Tyto soubory se obvykle instalují jako sada. Tyto soubory se musí shodovat čísla sestavení. Nesprávně nakonfigurovaný instalační nástroj může omylem soubory nainstalovat samostatně. Tím dojde k neshodě souborů. Aby nedocházelo k problémům v automatizaci, zkontrolujte soubory a ujistěte se, že sestavení těchto souborů se shodují. Soubory automatizace jsou umístěny v adresáři Windows\System32. Zkontrolujte následující soubory.

    Název souboru

    Verze

    Datum změny

    Asycfilt.dll

    10.0.16299.15

    29. září 2017

    Ole32.dll

    10.0.16299.371

    29. března 2018

    Oleaut32.dll

    10.0.16299.431

    3. května 2018

    Olepro32.dll

    10.0.16299.15

    29. září 2017

    Stdole2.tlb

    3.0.5014

    29. září 2017

    Chcete-li zkontrolovat verzi souboru, klepněte pravým tlačítkem myši na soubor v programu Průzkumník Windows a potom klepněte na příkaz Vlastnosti. Poznamenejte si poslední čtyři číslice verze souboru (číslo sestavení) a datum poslední změny souboru. Ujistěte se, zda jsou tyto hodnoty u všech souborů automatizace stejné. Poznámka Následující soubory jsou pro Windows, 10. 1709 verze, sestavení 16299.431. Tato čísla a kalendářní data jsou pouze příklady. Vaše hodnoty mohou být různé.

  • Pomocí nástroje pro konfiguraci systému (Msconfig.exe) k prozkoumání služby a po spuštění pro aplikace jiných výrobců, které by mohly omezovat spuštění kódu v aplikaci systému Office. Další informace o Msconfig.exe naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:

    181966 Nástroj pro konfiguraci systému Upřesnit nastavení Poradce při potížích Například aplikace Outlook Automation mohou selhat, pokud používáte antivirový program, který má funkce "blokování skriptů". Poznámka Zakažte antivirový program pouze dočasně v testovacím systému, který není připojen k síti. Další možností postupujte takto v aplikaci Outlook zakažte doplňky jiných výrobců: Pokud tato metoda řeší problém, obraťte se na dodavatele výrobců antivirového softwaru Další informace o aktualizaci antivirového programu.

    1. V nabídce soubor klepněte na příkaz Možnostia potom klepněte na tlačítko Add-ins.

    2. Klepněte na příkaz Spravovat doplňkya klepněte na tlačítko Přejít. Poznámka Otevře se dialogové okno Doplňky modelu COM .

    3. Zrušte zaškrtnutí políček u všech doplňků jiných výrobců a pak klepněte na tlačítko OK.

    4. Restartujte aplikaci Outlook.

Znovu nainstalujte sadu Office

Pokud žádný z předchozích kroků problém vyřešit, odeberte a přeinstalujte sadu Office.

Další informace naleznete v následujícím článkuOffice:

Stáhnout a nainstalovat nebo přeinstalovat Office 365 nebo Office 2016 na počítače PC nebo Mac

Odkazy

Další informace o automatizaci systému Office a ukázky kódu přejděte na následující web společnosti Microsoft:

Začínáme s vývojem pro Office

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?
Po stisknutí tlačítka pro odeslání se vaše zpětná vazba použije k vylepšování produktů a služeb Microsoftu. Váš správce IT bude moci tato data shromažďovat. Prohlášení o zásadách ochrany osobních údajů.

Děkujeme vám za zpětnou vazbu.

×