Te saate käitustõrke 429, kui teil automatiseerimiseks Office'i rakendused

Artiklite tõlked Artiklite tõlked
Artikli ID: 828550 - Vaadake tooteid, millega see artikkel seostub.
Microsoft Office XP, Office 2000 ja Office 97 versiooni see artikkel, vt 244264.
Laienda kõik | Ahenda kõik

Sellel veebilehel

Kokkuvõte

Kui kasutate Uus käitaja või funktsiooni CreateObject Microsoft Visual Basicu Microsoft Office'i eksemplari loomine kohaldamist, võidakse kuvada järgmine tõrketeade:
Run-time error "429": ActiveX komponent ei saa objekti luua
See tõrge ilmneb kui Component Object Model (COM) ei saa luua taotletud automatiseerimisobjekti ja automatiseerimisobjekti seetõttu pole Visual Basic. Seda viga ei esine kõigis arvutites.

Käesolevas artiklis kirjeldatakse, kuidas diagnoosida ja lahendada ühiseid probleeme, mis võivad põhjustada seda viga.

Lisateave

Visual Basic, on mitmeid põhjuseid vea 429. Tõrge ilmneb mõni järgmistest tingimustest vastab tõele:
  • Taotluses on viga.
  • Süsteemi konfiguratsioon on viga.
  • Seal on puudu.
  • Seal on kahjustatud osa.
Vea põhjuse leidmiseks isoleerida probleem. Kui teile kuvatakse tõrge 429 käsitleva klientarvutisse, kasutage järgmist teavet isoleerida ja tõrke Microsoft Office'i rakendustes.

Märkus Mõne järgnevast teabest võivad taotleda Office COM servereid. Siiski eeldame, et soovite automatiseerida Office'i rakendused.

Uurida kood

Enne kui te tõrkeotsing tõrge, püüdke isolaadi üks rida koodi, mis võib olla probleemi põhjuseks.

Kui sa avastad, et üks rida koodi võib olla probleemi põhjustaja, need menetlused lõpule viia:
  • Veenduge, et kood kasutab selgesõnalise objekti loomist.

    Probleemid on lihtsam tuvastada kui nad on vähenenud ka singleaction. Näiteks otsida kaudne objektide loomine üks järgmistest kasutamiseks.

    Tähise näidis 1
    Application.Documents.Add 'DON'T USE THIS!!
    Tähise näidis 2
    Dim oWordApp As New Word.Application 'DON'T USE THIS!!
    '... some other code
    oWordApp.Documents.Add
    Mõlemad proovid koodi kasutada kaudsete objekti loomist. MicrosoftOffice Word 2003 ei käivitu enne, kui muutuja on kutsutud vähemalt üks kord.Sest eri osades programmi nimetatakse muutuja theproblem võib olla raske leida. See võib olla raske kontrollida, kas theproblem on põhjustatud, kui rakendusobjekt on loodud dokumendi objekt on loodud orwhen.

    Selle asemel te canmake selgesõnaliselt palub luua iga objekt eraldi, järgmiselt.
    Dim oWordApp As Word.Application
    Dim oDoc As Word.Document
    Set oWordApp = CreateObject("Word.Application")
    '... some other code
    Set oDoc = oWordApp.Documents.Add
    Kui selgesõnaliselt helistada luua iga objekt eraldi theproblem on lihtsam eraldada. Seda võib teha ka kood lihtsam lugeda.
  • Kasutage funktsiooni CreateObject Exceli ofusing Uus operaator anOffice rakenduse eksemplari loomisel.

    CreateObject functionclosely kaardid loomise protsessi, et enamik Microsoft Visual C++ kliente.Funktsiooni CreateObject võimaldab ka muutused CLSID serveris versioonide vahel. Saate funktsiooni CreateObjectvarajase seondunud objektid ja hilja seondunud objektid.
  • Veenduge, et "ProgID" stringi, mis edastatakseCreateObject on õige ning veenduge seejärel, et "ProgID" string on sõltumatu versioon. Kasutage näiteks "Excel.Application" stringinstead, "Excel.Application.8" stringi abil. Süsteem, mis ei täida mayhave Microsoft Office'i vanem versioon või uuem versioon MicrosoftOffice kui määratud stringi "ProgID" versioon.
  • Käsu Erl aruande rida koodi, mis ei suuda linenumber. See võib aidata teil debugapplications, mida ei saa käivitada IDE. Järgmine kood ütleb sulle misautomaatika objekti ei saa luua (Microsoft Wordi orMicrosoft 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
    Kasutage funktsiooni MsgBox ja rea number trackthe viga.
  • Kasuta köitmist hilja järgmiselt:
    Dim oWordApp As Object
    Varajane seondunud objektid eeldavad oma kohandatud liideste marshaledacross protsessi piire olevat. Kui kohandatud kasutajaliides ei saa marshaledfunktsiooni CreateObject või jooksul Uus, kuvatakse error429. Hilja seondunud objekt kasutab selle IDispatch süsteemi määratletud liidese see doesnot nõuda kohandatud puhver tuleb marshaled. Kasutada hilja seondunud objekti, et see protseduur toimib õigesti verifywhether.

    Kui probleem ilmneb onlywhen objekt on varajane seondunud, probleem on serveri rakendus.Tavaliselt saate uuesti installida rakendus nagu kirjeldatud probleemi lahendamiseks käesoleva artikli jaotises "Uurida theAutomation Server".

Uurida automaatika server

Tõrge tekkida CreateObject või Uus kõige tavalisem põhjus on probleem taotluse server. Tavaliselt konfiguratsiooni avalduse või taotluse seadistuse põhjustab probleemi. Tõrkeotsingu sooritamiseks kasutage menetluste abil:
  • Veenduge, et soovitud toautomate Office'i rakendus on installitud kohalikus arvutis. Veenduge, et saate käivitada theapplication. Selleks klõpsake nuppu Start, klõpsake käskuKäivitaja seejärel proovite käivitada rakendus. Kui te ei saa runthe taotluse käsitsi, ei toimi taotluse läbi automatiseerimise.
  • Registreerida avalduse järgmiselt:
    1. Klõpsake nuppu Startja käsku Run.
    2. Dialoogiboksi Käivita tippige serveri tee ja seejärel lisada / RegServer rea lõppu.
    3. Klõpsake nuppu OK.

      Rakendus töötab vaikselt. Taotlus on registreerituks COM server.
    Kui ilmneb probleem, sest registri võti on puudu, need sammud tavaliselt probleemi lahendada.
  • Uurida LocalServer32 võtme CLSID jaoks theapplication, mida soovite automatiseerida. Veenduge, et LocalServer32 keypoints rakenduse õigesse kohta. Veenduge, et teenimi on lühike tee (DOS 8.3) vormingus. Sa pead registreerida serverby, kasutades lühikese tee nimi. Aga pikk tee nimesid, mis sisaldavad embeddedspaces põhjustada probleeme mõnes süsteemis.

    Uurida teed keythat on salvestatud serveri, käivitage Windows Registry Editor, järgmiselt:
    1. Klõpsake nuppu Startja käsku Run.
    2. Tüüp regedit, ja seejärel klõpsake nuppu OK.
    3. Liikuda HKEY_CLASSES_ROOT\CLSID olevate võti.

      Süsteemis registreeritud automatiseerimisserverid CLSID-sid on põhitegevuse raames.
    4. Järgmised väärtused CLSID-võtme abil leida võti, mis tähistab Office'i rakendus, mida soovite automatiseerida. Uurida tee CLSID-võtme LocalServer32 võti.
      Ahenda see tabelLaienda see tabel
      Office ServeriCLSID-võtmele
      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. Veenduge, et tee sobib faili tegelik asukoht.
    Märkus Lühike tee nimesid võib tunduda õige, kui nad ei ole õige. Näiteks Office ja Microsoft Internet Explorer (kui need on paigaldatud intheir vaikeasukohad) on lühike tee, mis on sarnased toC:\PROGRA~1\MICROS~X\ (kusX on mitmeid). See nimi võib ei ole algselt appearto olema lühike tee nimi.

    Kindlaks teha, kas tee on õige, toimige järgmiselt.
    1. Klõpsake nuppu Startja käsku Run.
    2. Registri väärtus kopeerida ja seejärel kleepida väärtus dialoogiboksi Käivita .

      Märkus Eemaldage /automation lüliti, enne kui käivitate rakenduse.
    3. Klõpsake nuppu OK.
    4. Veenduge, et rakendus töötab õigesti.

      Kui rakendus töötab pärast seda, kui klõpsate nuppu OK, server on õigesti registreeritud. Kui rakendus ei käivitu pärast seda, kui klõpsate nuppu OK, asendada LocalServer32 võtme väärtus õige tee. Lühike tee nime kasutada, kui saad.
  • Test rikutud malli Normal.dot orof ressursi faili Excel.xlb. Probleeme võib tekkida, kui te automatiseerida väärtust MicrosoftWord või Microsoft Exceli, kui on rikutud kas mallis sõna või theExcel.xlb ressursi faili Excelis. Katsetada neid faile, otsida thelocal kõvakettad kõik eksemplarid Normal.dot või ofExcel.xlb.

    Märkus Süsteeme, mis töötavad Microsoft Windows 2000 või süsteemide thatrun Microsoft Windows XP, võite leida neid faile mitme koopia. Seal isone koopiad neid faile iga kasutaja profiili, mis on paigaldatud lennujaamatasude.

    Normal.dot faile või selle Excel.xlbfiles ajutiselt ümber nimetada, ning seejärel käivitage uuesti oma automaatika test. Wordi ja Exceli luua nii thesefiles, kui nad ei leia neid. Veenduge, et kood töötab. Kui koodi workswhen uue faili Normal.dot on loodud, kustutada faile, ümber nimetatud. Thesefiles on rikutud. Kui kood ei tööta, tuleb need filesback ümber nimetada, et nende Algne failinimi salvestada kohandatud sätted, mis on salvestatud inthese faile.
  • Kui sinu süsteem töötab Windows 2000, käivitage rakendus raames administraatori konto. Office'i serverite nõuda lugemine/kirjutamine juurdepääsu theregistry ja disk drive. Kui yourcurrent turvasätted eitada lugemis-/ kirjutusõigust, ei pruugi Office'i serverite õigesti laadida.

Süsteemi

Süsteemi konfiguratsioon võib põhjustada ka probleemid out protsess COM serverite loomist. Tõrkeotsingu sooritamiseks kasutage järgmisi protseduure süsteemi kus on viga:
  • Kindlaks teha, kas probleem ilmneb anyout protsessi serveriga. Kui teil on rakendus, mis kasutab teatud COMserver (näiteks Word), test eri out protsess server veendumaks, et probleem ei ole COM kiht, ise. Kui arvutis ei saa luua anout protsessi COM server, installige OLE süsteemi failid asdescribed käesolevas artiklis orreinstall probleemi lahendamiseks operatsioonisüsteemi "Uuesti installida Microsoft Office'i" osa.
  • Uurida OLE süsteemi failid thatmanage automaatika versiooninumbrid. Need failid installitakse tavaliselt komplektina. Need filesmust vaste ehitada numbrid. Valesti konfigureeritud häälestusutiliiti saab mistakenlyinstall faile eraldi. See põhjustab failid olla sobimatud. Avoidproblems koos automation, vaatab läbi faile, veenduge, et failid buildsare sobitada.

    Automaatika failid asuvad ka Windows\System32directory või Winnt\System32 kataloog. Uurida ka followingfiles.
    Ahenda see tabelLaienda see tabel
    Faili nimiVersioonMuutmise kuupäev
    Asycfilt.dll3.50.5014September 04,2002
    Oleaut32.dll3.50.5016September 04,2002
    Olepro32.dll5.0.5014September 04,2002
    Stdole2.TLB3.0.5014September 04,2002
    Läbi vaatama faili versioon, filein Windows Explorer paremklõpsake ja seejärel klõpsake käsku Atribuudid. Teade thelast neli numbrit faili versioon (järgunumbrit) ja kuupäeva, et thefile oli muudetud. Veenduge, et need väärtused on samad kõigi theautomation faile.

    Märkus Varasema versiooni numbrite ja varasemaid kuupäevi on retrievedfrom arvuti, mis kasutab Windows Server 2003 arvutist, millel Office'i 2003installed. Need numbrid ja kuupäevad lihtsalt kasutatakse näiteks. Võib-olla erinevad väärtused.

    Kui faile ei vasta ehitada numbrid või themodified kuupäevad, lae iseavanev utiliit, mis uuendab oma automationfiles.

    Kuidas access run-time faile kohta lisateabe saamiseks klõpsake Microsofti teabebaasi artikli kuvamiseks järgmist artiklinumbrit:
    235420 Vbrun60sp4.exe paigaldab Visual Basic 6.0 hoolduspaketi SP4 run-time faile
  • Kasutada System Configuration utility (Msconfig.exe) teenused ja süsteemi käivitamisel kolmanda osapoole rakendusi, mis võivad piirata jooksvad koodi rakenduses Office. Msconfig.exe kohta lisateabe saamiseks klõpsake Microsofti teabebaasi artikli kuvamiseks järgmist artiklinumbrit:
    310560 Kuidas konfiguratsiooni tõrkeotsingut Windows XP System Configuration utility abil
    Näiteks Outlook automatiseerimine rakendused ei pruugi sest teil töötab viirusetõrje programmi, mis on "skripti blokeerija" funktsioone.

    Märkus Ainult keelake ajutiselt viirusetõrje programmi katse süsteem, mis ei ole ühendatud võrku.

    Teise võimalusena toimige järgmiselt Outlookis kolmanda osapoole lisandmoodulite keelamine
    1. Klõpsake menüü Tööriistad käsku Suvandid.
    2. Klõpsake vahekaardil muu nuppu Täpsemad suvandid.
    3. Dialoogiboksis Täpsemad suvandid klõpsake nuppu Lisandmoodulihaldur.
    4. Tühjendage ruut mis tahes kolmanda osapoole lisandmoodul, klõpsake.
    5. Käivitage Outlook uuesti.
    Kui see meetod lahendab selle probleemi, pöörduge kolmanda osapoole viirusetõrjeprogrammi müüja Lisateavet update viirusetõrje programmi.

Installige Office

Kui ükski varasemad menetlused lahendada probleemi, eemaldage Office ja installige Office. Microsoft soovitab kõigepealt eemaldage olemasolev versioon ja seejärel installige Office abil algne install kettaid.

Lisateabe saamiseks klõpsake Microsofti teabebaasi artiklite kuvamiseks järgmisi artiklinumbreid:
219423 Kuidas eemaldada Office 2000 CD1
158658 Kuidas täielikult eemaldada Microsoft Office 97

Viited

Tõrkeotsingu "429" tõrketeate kohta lisateabe saamiseks klõpsake Microsofti teabebaasi artikli kuvamiseks järgmist artiklinumbrit:
240377 Kuidas tagada Jet 3.5 on õigesti installitud (I osa)
Kontori- ja infotehnoloogiavahendeid koodi näidised kohta lisateabe saamiseks külastage järgmist Microsofti veebisaiti:
http://support.microsoft.com/OFD

Atribuudid

Artikli ID: 828550 - Viimati läbi vaadatud: 3. august 2013 - Redaktsioon: 2.0
Kehtib järgmise lõigu kohta:
  • 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
Märksõnad: 
kbexpertisebeginner kbtshoot kbprogramming kberrmsg kbautomation kbinfo kbmt KB828550 KbMtet
Masintõlgitud
NB! Artikkel on tõlgitud Microsofti masintõlketarkvaraga ja seda saab parandada Kogukonnapõhise tõlkeraamistiku (CTF) tehnoloogiaga. Microsoft pakub masintõlgitud, kogukonna järeltöödeldud ja inimtõlgitud artikleid, et anda mitmekeelne juurdepääs kõigile meie teabebaasi artiklitele. Masintõlgitud ja järeltöödeldud artiklites võib olla sõnavara-, süntaksi- ja/või grammatikavigu. Microsoft ei vastuta mingite ebatäpsuste, tõrgete ega kahjude eest, mis on tulenenud sisu valest tõlkest või selle kasutamisest meie klientide poolt. Lisateavet CTF-i kohta leiate aadressilt http://support.microsoft.com/gp/machine-translation-corrections/et.
Artikli ingliskeelse versiooni kuvamiseks klõpsake siin: 828550

Andke tagasisidet

 

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