Runtime-fout 429 wordt bij het automatiseren van Office-toepassingen

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 828550 - Bekijk de producten waarop dit artikel van toepassing is.
Zie voor Microsoft Office XP, Office 2000 en Office 97-versie van dit artikel244264.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Samenvatting

Wanneer u deNieuweoperator of deCreateObjectfunctie in Microsoft Visual Basic maakt een instantie van een Microsoft Officetoepassing, wordt de volgende fout bericht:
Runtimefout '429': ActiveX-onderdeel kan geen object maken
Deze fout treedt op wanneer de Component Object Model (COM) maken niet de gevraagdeAutomatiseringobject, en deAutomatiseringobject is daarom niet beschikbaar in Visual Basic. Deze fout komt zich niet op alle computers.

In dit artikel wordt beschreven hoe u opsporen en oplossen van algemene problemen die deze fout mogelijk veroorzaken.

Meer informatie

Er zijn verschillende oorzaken van fout 429 in Visual Basic. De foutbericht van de volgende voorwaarden wordt voldaan:
  • Er is een fout in de toepassing.
  • Er is een fout in de systeemconfiguratie.
  • Er is een onderdeel ontbreekt.
  • Er is een beschadigd onderdeel.
Isoleer het probleem vinden van de oorzaak van de fout. Als u Foutbericht 429 op een clientcomputer, gebruikt u de volgende gegevens opsporen en oplossen van de fout in Microsoft Office-toepassingen.

OpmerkingSommige van de volgende informatie kan ook van toepassing op niet-Office COM-servers. Echter, in dit artikel wordt verondersteld dat u wilt Office automatiseren toepassingen.

De code controleren

Voordat u de fout oplossen proberen te isoleren van één regel code die het probleem veroorzaakt.

Als u dat ontdekt een enkele regel code mogelijk het probleem veroorzaakt door deze procedures voltooien:
  • Zorg dat de code object expliciet maken.

    Problemen zijn eenvoudiger te identificeren als ze een enkele teruggebracht actie. Bijvoorbeeld het gebruik van maken als een van de volgende impliciete object zoekt.

    Voorbeeld 1
    Application.Documents.Add 'DON'T USE THIS!!
    Voorbeeld 2
    Dim oWordApp As New Word.Application 'DON'T USE THIS!!
    '... some other code
    oWordApp.Documents.Add
    Beide van deze codevoorbeelden gebruiken impliciete object maken. Microsoft Office Word 2003 start niet totdat de variabele ten minste één keer wordt genoemd. Omdat de variabele kan worden aangeroepen in verschillende delen van het programma de probleem moeilijk te vinden. Mogelijk moeilijk te controleren of de probleem wordt veroorzaakt wanneer deToepassingobject is gemaakt of Wanneer deDocumentobject is gemaakt.

    In plaats daarvan kunt u Controleer de expliciete aanroepen om elk object afzonderlijk, als volgt maken.
    Dim oWordApp As Word.Application
    Dim oDoc As Word.Document
    Set oWordApp = CreateObject("Word.Application")
    '... some other code
    Set oDoc = oWordApp.Documents.Add
    Wanneer u expliciete aanroepen om elk object afzonderlijk maken de probleem is gemakkelijker te isoleren. Dit kan ook de code beter leesbaar maken.
  • Gebruik deCreateObjectfunctie in plaats van met deNieuweoperator wanneer u een exemplaar van een Office-toepassing.

    DeCreateObjectfunctie kaarten nauw ontwikkelingsproces die de meeste clients van Microsoft Visual C++. DeCreateObjectfunctie kan ook wijzigingen in de CLSID van de server tussen versies. U kunt deCreateObjectfunctie vroeg gebonden objecten en objecten gekoppeld.
  • Controleer de tekenreeks 'ProgID' dat wordt doorgegeven aanCreateObjectcorrigeren en controleer vervolgens 'ProgID' de tekenreeks is versie-onafhankelijke. Gebruik bijvoorbeeld de tekenreeks 'Excel.Application' in plaats van met de tekenreeks 'Excel.Application.8'. Kan het systeem mislukt een oudere versie van Microsoft Office of een nieuwere versie van Microsoft Office dan de versie die u hebt opgegeven in de tekenreeks 'ProgID'.
  • Gebruik deErlopdracht rapporteren van de regel nummer van de regel code die niet is gelukt. Hiermee kunt u foutopsporing toepassingen die niet in de IDE uitvoeren. De volgende code geeft aan welkeAutomatiseringobject kan niet worden gemaakt (Microsoft Word of 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
    Gebruik deMsgBoxfunctie en het regelnummer bijhouden de fout.
  • Late binding als volgt gebruiken:
    Dim oWordApp As Object
    Vroeg gebonden objecten moeten de aangepaste interfaces worden gemarshald procesgrenzen. Als de aangepaste interface kan niet worden gemarshald tijdensCreateObjectof tijdensNieuwe, foutbericht 429 Een gekoppeld object de IDispatch systeemgedefinieerde interface die wordt gebruikt vereist een aangepaste proxy worden gemarshald. Gebruik een gekoppeld object controleren of deze procedure correct werkt.

    Als het probleem alleen optreedt Als het object ' early-bound, is het probleem in de servertoepassing. Meestal kunt u de toepassing opnieuw zoals beschreven in de "Examine de Sectie automatiseringsserver' van dit artikel het probleem te verhelpen.

De automatiseringsserver controleren

De meest voorkomende reden voor een fout optreden bijCreateObjectof metNieuweis een probleem met de servertoepassing. Meestal de configuratie van de toepassing of de installatie van de toepassing de probleem. Oplossen, gebruikt u de volgende procedures:
  • Controleer de Office-toepassing die u wilt automatiseren op de lokale computer is geïnstalleerd. Zorg ervoor dat u uitvoert de toepassing. Klik hiertoe opStart, klik opUitvoeren, en probeer de toepassing uit te voeren. Als u niet kunt uitvoeren. de toepassing handmatig de toepassing zal niet werken via automatisering.
  • De toepassing als volgt registreren:
    1. Klik opStart, en klik vervolgens opUitvoeren.
    2. In deUitvoerendialoogvenster het pad van de server en vervolgens toevoegen/ RegServeraan het einde van de regel.
    3. Klik opOK.

      De toepassing stille modus uitgevoerd. De toepassing is geregistreerd als een COM-server.
    Als het probleem treedt op omdat een registersleutel ontbreekt, deze stappen oplossen het probleem meestal.
  • Controleer de sleutel LocalServer32 onder de CLSID voor de de toepassing die u wilt automatiseren. Zorg ervoor dat de sleutel LocalServer32 verwijst naar de juiste locatie voor de toepassing. Zorg ervoor dat het pad de naam is een indeling voor korte padnamen (DOS 8.3). U hoeft niet te registreren van een server met behulp van een korte padnaam. Echter lange padnamen met ingesloten spaties kunnen problemen veroorzaken op sommige systemen.

    De padsleutel controleren die voor de server is opgeslagen, start u Windows register-Editor als volgt:
    1. Klik opStart, en klik vervolgens opUitvoeren.
    2. TypeRegedit, en klik vervolgens opOK.
    3. Verplaatsen naar de sleutel HKEY_CLASSES_ROOT\CLSID.

      De De CLSID voor de geregistreerde automatiseringsservers in het systeem zijn krachtens deze sleutel.
    4. De volgende waarden van de CLSID-sleutel gebruiken om de Deze sleutel geeft de Office-toepassing die u wilt automatiseren. Onderzoeken de sleutel LocalServer32 van de CLSID-sleutel voor het pad.
      Deze tabel samenvouwenDeze tabel uitklappen
      Office ServerCLSID-sleutel
      Access.Application{73A4C9C1-D68D-11 D 0-98BF-00A0C90DC8D9}
      Excel.Application{00024500-0000-0000-C000-000000000046}
      FrontPage.Application{04DF1015-7007-11 D 1-83BC-006097ABE675}
      Outlook.Application{0006F03A-0000-0000-C000-000000000046}
      PowerPoint.Application{91493441-5A91-11CF-8700-00AA0060263B}
      Word.Application{000209FF-0000-0000-C000-000000000046}
    5. Controleer of het pad overeenkomt met de werkelijke locatie van het bestand.
    OpmerkingKorte padnamen lijken correct wanneer ze niet juist zijn. Voor voorbeeld, Office en Microsoft Internet Explorer (als ze worden geïnstalleerd in hun standaardlocatie) hebben een korte padnaam die vergelijkbaar is met C:\PROGRA~1\MICROS~X\ (waarXeen getal is). Deze naam kan aanvankelijk niet weergegeven. een korte padnaam zijn.

    Bepalen of het pad correct is Volg deze stappen:
    1. Klik opStart, en klik vervolgens opUitvoeren.
    2. De waarde in het register kopiëren en plak de de waarde in deUitvoerenhet dialoogvenster.

      OpmerkingVerwijder de/ Automationvoordat u de toepassing.
    3. Klik opOK.
    4. Controleer of de toepassing correct wordt uitgevoerd.

      Als de toepassing wordt uitgevoerd nadat u opOK, is de server correct geregistreerd. Als de toepassing niet uitgevoerd nadat u opOK, de waarde van de sleutel LocalServer32 vervangen door de juiste pad. Een korte padnaam gebruiken als u kunt.
  • Test voor mogelijke beschadiging van de sjabloon Normal.dot of van het bronbestand Excel.xlb. Er kunnen problemen optreden wanneer u Microsoft automatiseren Word of Microsoft Excel als de sjabloon Normal.dot in Word of de Het bronbestand Excel.xlb in Excel is beschadigd. Testen van deze bestanden zoeken de voor alle exemplaren van Normal.dot of lokale vaste schijven Excel.xlb.

    OpmerkingVoor systemen met Microsoft Windows 2000 of systemen die Microsoft Windows XP wordt uitgevoerd, mogelijk meerdere exemplaren van deze bestanden. Er is een kopie van elk van deze bestanden voor elke gebruiker die is geïnstalleerd op de systeem.

    De bestanden Normal.dot of de Excel.xlb tijdelijk wijzigen bestanden en voer de test van automatisering. Word en Excel maken deze bestanden als ze niet kunnen vinden. Controleer of de code werkt. Als de code werkt Wanneer een nieuw bestand Normal.dot gemaakt, verwijdert u de hernoemde bestanden. Deze bestanden zijn beschadigd. Als de code niet werkt, moet u deze bestanden wijzigen terug naar hun oorspronkelijke bestandsnamen worden opgeslagen in aangepaste instellingen opslaan Deze bestanden.
  • Als uw Windows 2000 wordt uitgevoerd, start u de toepassing onder de account Administrator. Office-servers vereisen lees-/ schrijftoegang tot de register en het schijfstation. Office-servers niet correct geladen als de huidige beveiligingsinstellingen weigeren lezen/schrijven-toegang.

Het systeem controleren

Systeemconfiguratie kan ook problemen ontstaan met de out-of-process COM-servers maken. Oplossen, gebruikt u de volgende procedures op het systeem waar de fout optreedt:
  • Bepalen of het probleem met een optreedt out-of-process-server. Als u een toepassing die gebruikmaakt van een bepaalde COM test een andere out-of-process-server om ervoor te zorgen dat server (zoals Word) het probleem is met de COM-laag zelf. Als u geen maken een Installeer de OLE-systeembestanden als out-of-process COM-server op de computer in de sectie 'Microsoft Office opnieuw installeren' van dit artikel beschreven of het probleem oplossen door het besturingssysteem opnieuw.
  • Controleer de versienummers voor de OLE-die systeembestanden automatisering beheren. Deze bestanden worden doorgaans als set geïnstalleerd. Deze bestanden buildnummers moet overeenkomen. Onjuist geconfigureerde installatieprogramma kan per ongeluk de bestanden afzonderlijk installeren. Hierdoor worden de verkeerde bestanden. Om te voorkomen problemen met automatisering, onderzoekt de bestanden bestanden gemaakt zijn afgestemd.

    Automatiseringsbestanden bevinden zich in de Windows\System32 Directory of in de map Winnt\System32. De volgende onderzoeken bestanden.
    Deze tabel samenvouwenDeze tabel uitklappen
    BestandsnaamVersieDatum gewijzigd
    Asycfilt.dll3.50.501404 September 2002
    Oleaut32.dll3.50.501604 September 2002
    Olepro32.dll5.0.501404 September 2002
    Stdole2.tlb3.0.501404 September 2002
    Controleren van de versie met de rechtermuisknop op het bestand in Windows Verkenner en klik opEigenschappen. Aankondiging van de laatste vier cijfers van de bestandsversie (het buildnummer) en de datum waarop de bestand het laatst is gewijzigd. Zorg ervoor dat deze waarden zijn hetzelfde voor alle de automatiseringsbestanden.

    OpmerkingDe eerdere versienummers en de eerdere datums worden opgehaald. vanaf een computer met Windows Server 2003-computer met Office 2003 geïnstalleerd. Deze getallen en datums worden alleen gebruikt als voorbeelden. Uw waarden kunnen anders zijn.

    Als de bestanden niet overeenkomen met de buildnummers of de gewijzigde datum downloaden een zelfextraherend hulpprogramma uw automatisering updates bestanden.

    Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie over hoe u de runtime bestanden:
    235420Vbrun60sp4.exe installeert Visual Basic 6.0 SP4 runtime bestanden
  • Gebruik het hulpprogramma voor systeemconfiguratie (Msconfig.exe) opstarten van het systeem en services onderzoeken voor toepassingen van derden die in de Office-toepassing programmacode mogelijk beperken.Voor meer informatie over Msconfig.exe, klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:
    310560Configuratiefouten met het hulpprogramma voor systeemconfiguratie in Windows XP oplossen
    Toepassingen van Outlook Automatisering mislukt bijvoorbeeld omdat u een antivirusprogramma "script blocker" functies heeft uitgevoerd.

    OpmerkingAlleen antivirusprogramma tijdelijk op een testsysteem dat niet is verbonden met het netwerk uitschakelen.

    Ook deze stappen in Outlook invoegtoepassingen van derden uitschakelen:
    1. Op deExtramenu, klik opOpties.
    2. Op deAndereen klik opGeavanceerde opties.
    3. In deGeavanceerde optieshet dialoogvenster, klikt u opInvoegtoepassingenbeheer.
    4. Schakel het selectievakje van een invoegtoepassing van derden uit.
    5. Start Outlook opnieuw.
    Als deze methode wordt het probleem opgelost, kunt u contact opnemen met het antivirusprogramma leverancier voor meer informatie over een update van het antivirusprogramma.

Office opnieuw installeren

Als geen van de voorgaande procedures het probleem verwijderen Office en Office opnieuw installeren. Microsoft adviseert u verwijdert de eerst bestaande versie en vervolgens Office opnieuw installeren met behulp van de oorspronkelijke installatie-cd.

Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:
219423Het verwijderen van Office 2000 CD1
158658Microsoft Office 97 volledig verwijderen

Referenties

Voor meer informatie over het foutbericht 429' oplossen bericht, klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:
240377Het waarborgen van Jet 3.5 is correct geïnstalleerd (deel I)
Voor meer informatie over Office automatisering en codevoorbeelden, website de volgende Microsoft:
http://support.Microsoft.com/ofd

Eigenschappen

Artikel ID: 828550 - Laatste beoordeling: dinsdag 16 juli 2013 - Wijziging: 2.1
De informatie in dit artikel is van toepassing op:
  • 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
Trefwoorden: 
kbexpertisebeginner kbtshoot kbprogramming kberrmsg kbautomation kbinfo kbmt KB828550 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door middel van automatische vertalingssoftware van Microsoft en is mogelijk nabewerkt door de Microsoft Community via CTF-technologie (Community Translation Framework) of door een menselijke vertaler. Microsoft biedt zowel automatisch vertaalde, door mensen vertaalde en door de community nabewerkte artikelen aan, zodat er in meerdere talen toegang is tot alle artikelen in onze Knowledge Base. Een vertaald of bewerkt artikel kan fouten bevatten in vocabulaire, syntaxis of grammatica.. Microsoft is niet verantwoordelijk voor eventuele onjuistheden, fouten of schade ten gevolge van een foute vertaling van de inhoud van een bericht of het gebruik van deze vertaalde berichten door onze klanten.
De Engelstalige versie van dit artikel is de volgende: 828550

Geef ons feedback

 

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