Errore runtime 429 quando è automatizzare le applicazioni di Office

Il supporto per Office 2003 è terminato

Il supporto Microsoft per Office 2003 è terminato l'8 aprile 2014. Questa modifica ha interessato gli aggiornamenti software e le opzioni di sicurezza. Ulteriori informazioni su come continuare a essere protetti.

IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 828550
Per un Microsoft Office XP, Office 2000 e una versione di Office 97 di questo articolo, vedere 244264.
Sommario
Quando si utilizza l'operatore di Nuovo o la funzione CreateObject in Visual Basic per creare un'istanza di un Microsoft Office dell'applicazione, è possibile che venga visualizzato il seguente messaggio di errore:
Errore di run-time '429': il componente ActiveX non può creare l'oggetto
Questo errore si verifica quando il componente Object Model (COM) non può creare l'oggetto di automazione richiesto e l'oggetto di automazione di conseguenza non disponibile per Visual Basic. Questo errore non si verifica in tutti i computer.

In questo articolo viene descritto come diagnosticare e risolvere problemi comuni che possono causare questo errore.
Informazioni
In Visual Basic, esistono numerose cause dell'errore 429. L'errore si verifica una delle seguenti condizioni è true:
  • È presente un errore nell'applicazione.
  • È presente un errore nella configurazione del sistema.
  • È un componente manca.
  • È un componente danneggiato.
Per individuare la causa dell'errore, è possibile isolare il problema. Se viene visualizzato un errore 429 su un computer client, utilizzare le seguenti informazioni per isolare e risolvere l'errore in applicazioni di Microsoft Office.

Nota Alcune delle informazioni seguenti potrebbe anche essere applicabile al server COM non di Office. Tuttavia, questo articolo si presuppone che si desidera automatizzare Office le applicazioni.

Esaminare il codice

Prima risolvere l'errore, tentare di isolare una singola riga di codice che potrebbe essere la causa del problema.

Se si scopre che una singola riga di codice potrebbe causare il problema, è necessario completare queste procedure:
  • Assicurarsi che il codice utilizzi di creazione dell'oggetto esplicita.

    I problemi sono più semplice identificare se questi sono restringere per una singola azione. Ad esempio, si consiglia di cercare l'utilizzo della creazione dell'oggetto implicita come una delle seguenti operazioni.

    esempio di codice 1
    Application.Documents.Add 'DON'T USE THIS!!
    esempio di codice 2
    Dim oWordApp As New Word.Application 'DON'T USE THIS!!'... some other codeoWordApp.Documents.Add
    entrambi questi esempi di codice utilizzare la creazione implicita di oggetti. Microsoft Office Word 2003 non viene avviato fino a quando la variabile viene chiamata almeno una volta. Poiché la variabile può essere chiamata in diverse parti del programma, il problema potrebbe essere difficile da individuare. Potrebbe essere difficile verificare se il problema è causato quando l'oggetto Application viene creato o viene creato l'oggetto documento .

    In alternativa, è possibile effettuare chiamate esplicite per creare ciascun oggetto separatamente, come illustrato di seguito.
    Dim oWordApp As Word.ApplicationDim oDoc As Word.DocumentSet oWordApp = CreateObject("Word.Application")'... some other codeSet oDoc = oWordApp.Documents.Add
    quando si effettua chiamate esplicite per creare ciascun oggetto separatamente, il problema è più semplice isolare. Questo potrebbe rendere il codice più semplice da leggere.
  • Utilizzare la funzione CreateObject anziché utilizzare l'operatore New quando si crea un'istanza di un'applicazione di Office.

    La funzione CreateObject associa strettamente il processo di creazione la maggior parte dei client di Microsoft Visual c ++ utilizzano. La funzione CreateObject consente inoltre di modifiche nel CLSID di server tra versioni. È possibile utilizzare il metodo CreateObject funzione con gli oggetti ad associazione anticipata e con oggetti ad associazione tardiva.
  • Verificare che la stringa "ProgID" che viene passata a CreateObject sia corretta e quindi verificare che la stringa "ProgID" è indipendente dalla versione. Ad esempio, è possibile utilizzare la stringa "Excel.Application" anziché la stringa "Excel.Application.8". Il sistema ha esito negativo può avere una versione precedente di Microsoft Office o una versione più recente di Microsoft Office rispetto a quella è specificato nella stringa di "ProgID".
  • Utilizzare il comando Erl per segnalare il numero di riga della riga di codice che non ha esito positivo. Consente di debug di applicazioni che non è possibile eseguire nell'IDE. Il codice riportato di seguito consente di Impossibile creare l'oggetto di automazione (in Microsoft Word o 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
    utilizzare la funzione MsgBox e il numero di riga per tenere traccia dell'errore.
  • Utilizzare l'associazione tardiva nel modo seguente: gli oggetti di associazione anticipata
    Dim oWordApp As Object
    richiedono le interfacce personalizzate per effettuare il marshalling oltre i limiti del processo. Se non è possibile eseguire il marshalling all'interfaccia personalizzata durante CreateObject o durante Nuovo , viene visualizzato errore 429. Un oggetto di associazione tardiva utilizza l'interfaccia definita dal sistema IDispatch non richiede un proxy effettuare il marshalling personalizzato. Consente di utilizzare un oggetto ad associazione tardiva per verificare se questa procedura funziona correttamente.

    Se il problema si verifica solo quando l'oggetto è associato anticipatamente, il problema è l'applicazione server. In genere, è possibile reinstallare l'applicazione come descritto nella sezione "Analisi del server di automazione" di questo articolo per risolvere il problema.

Esaminare il server di automazione

La causa più comune di un errore con CreateObject o con New è un problema con l'applicazione server. In genere, la configurazione dell'applicazione o l'installazione dell'applicazione causa il problema. Per risolvere i problemi, utilizzare il seguente routine:
  • Verificare che si desidera automatizzare l'applicazione di Office è installato nel computer locale. Assicurarsi che è possibile eseguire l'applicazione. Per effettuare questa operazione, fare clic su Start , scegliere Esegui e quindi tenta di eseguire l'applicazione. Se non è possibile eseguire manualmente l'applicazione, l'applicazione non funziona tramite l'automazione.
  • Registrare nuovamente l'applicazione, come illustrato di seguito:
    1. Fare clic su Start e quindi fare clic su Esegui .
    2. Nella finestra di dialogo Esegui digitare il percorso del server e quindi accodare / RegServer alla fine del campo.
    3. Fare clic su OK .

      L'applicazione viene eseguita automaticamente. L'applicazione è re-registered come server COM.
    Se il problema si verifica perché manca una chiave del Registro di sistema, in questi passaggi viene in genere correggere il problema.
  • Esaminare la chiave LocalServer32 sotto il CLSID per l'applicazione che si desidera automatizzare. Verificare che la chiave LocalServer32 faccia riferimento al percorso corretto per l'applicazione. Assicurarsi che il nome del percorso sia in un formato di percorso breve (DOS 8.3). Non è necessario registrare un server utilizzando un nome di percorso breve. Tuttavia, che i nomi lunghi di percorso contenenti spazi incorporati possono causare problemi in alcuni sistemi.

    Per esaminare la chiave di percorso che viene memorizzata per il server, avviare di come indicato di seguito l'editor del Registro di sistema:
    1. Fare clic su Start e quindi fare clic su Esegui .
    2. Digitare regedit e quindi fare clic su OK .
    3. Passare alla chiave HKEY_CLASSES_ROOT\CLSID.

      I CLSID dei server di automazione registrati nel sistema si trovano sotto questa chiave.
    4. Utilizzare i seguenti valori della chiave CLSID per trovare la chiave che rappresenta l'applicazione di Office che si desidera automatizzare. Esaminare la chiave LocalServer32 della chiave CLSID per il percorso.
      server di Office chiave CLSID
      Access.Application{73A4C9C1-D68D-11-98BF D 0-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. Assicurarsi che il percorso corrisponda il percorso effettivo del file.
    Nota Nomi di percorso breve possono sembrare corretti quando non sono corrette. Ad esempio, sia Office e Microsoft Internet Explorer (se sono installati nei percorsi predefiniti) dispongono di un percorso breve che equivale a C:\PROGRA~1\MICROS~ X \ (dove X è un numero). Questo nome non viene inizialmente visualizzato è un nome di percorso breve.

    Per determinare se il percorso è corretto, attenersi alla seguente procedura:
    1. Fare clic su Start e quindi fare clic su Esegui .
    2. Copiare il valore dal Registro di sistema e quindi incollare il valore nella finestra di dialogo Esegui .

      Nota Rimuovere il / automazione passare prima di eseguire l'applicazione.
    3. Fare clic su OK .
    4. Verificare che l'applicazione viene eseguita correttamente.

      Se l'applicazione viene eseguita dopo aver scelto OK , il server è registrato correttamente. Se l'applicazione non viene eseguito dopo avere fatto clic su OK , sostituire il valore della chiave LocalServer32 con il percorso corretto. È possibile utilizzare un nome di percorso breve.
  • Verificare la possibile danneggiamento del modello Normal.dot o il file di risorse Excel.xlb. Problemi possono verificarsi quando è possibile automatizzare Microsoft Word o Microsoft Excel caso sia il modello Normal.dot in Word o il file di risorse Excel.xlb di Excel è danneggiato. Per verificare questi file, eseguire una ricerca di dischi rigidi locali per tutte le istanze di Normal.dot o Excel.xlb.

    Nota Per i sistemi che eseguono Microsoft Windows 2000 o per i sistemi che eseguono Microsoft Windows XP, è possibile trovare più copie di questi file. È presente una copia di ciascuno di questi file per ogni profilo utente cui è installato il sistema.

    Rinominare temporaneamente i file Normal.dot o il file Excel.xlb file ed eseguire nuovamente il test di automazione. Word ed Excel entrambi creare questi file se non è possibile trovarli. Verificare che il codice funzioni. Se il codice funziona quando viene creato un nuovo file Normal.dot, è necessario eliminare i file è stato rinominato. Questi file sono danneggiati. Se il codice non funziona, è necessario rinominare questi file al loro nomi file originali per salvare le impostazioni personalizzate vengono salvate in questi file.
  • Se il sistema viene eseguito Windows 2000, eseguire l'applicazione con l'account amministratore. Server di Office richiedono l'accesso lettura/scrittura per il Registro di sistema e per l'unità disco. Server di Office non può essere caricato correttamente se le impostazioni di protezione corrente Nega l'accesso in lettura/scrittura.

Esaminare il sistema

Configurazione di sistema anche può causare problemi con la creazione di server COM out-of-process di. Per risolvere i problemi, utilizzare le procedure seguenti nel sistema in cui l'errore si verifica:
  • Determinare se il problema si verifica con qualsiasi server out-of-process di. Se si dispone di un'applicazione che utilizza una particolare COM server (ad esempio Word), provare un altro server out-of-process di assicurarsi che il problema non si sia con il livello COM stesso. Se non è possibile creare un server di COM out-of-process del computer, reinstallare i file di sistema OLE, come descritto nella sezione "Reinstallazione di Microsoft Office" di questo articolo o reinstallare il sistema operativo per risolvere il problema.
  • Esaminare i numeri di versione per i file di sistema OLE che gestiscono l'automazione. Questi file vengono in genere installati come un insieme. Questi file devono corrispondere ai numeri di build. Un'utilità di installazione in modo non corretto configurato erroneamente possibile installare separatamente i file. In questo modo i file non corrispondenti. Per evitare problemi con l'automazione, esaminare i file per assicurarsi che le versioni di file vengono associate.

    I file di automazione si trovano in Windows\System32 la directory o nella directory WINNT\System32. Esaminare i seguenti file.
    nome del file versione Data modifica
    Asycfilt.dll3.50.501404 Settembre 2002
    Oleaut32.dll3.50.501604 Settembre 2002
    Olepro32.dll5.0.501404 Settembre 2002
    Stdole2.tlb3.0.501404 Settembre 2002
    Per esaminare la versione del file, fare clic con il pulsante destro del mouse sul file in Esplora, quindi scegliere Proprietà . Notare le ultime quattro cifre la versione del file (il numero di build) e la data ultima modifica apportata al file. Assicurarsi che questi valori siano uguali per tutti i file di automazione.

    Nota Numeri di versione precedenti e le date precedenti vengono recuperate da un computer che utilizza un computer Windows Server 2003 con Office 2003. Questi numeri e date solo vengono utilizzate come esempi. I valori potrebbero essere diversi.

    Se i file non corrispondono i numeri di build o le date modificate, è possibile scaricare un'utilità autoestraente che aggiorna i file di automazione.

    Per ulteriori informazioni su come accedere ai file di fase di esecuzione, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
    235420Vbrun60sp4.exe installa file di runtime di Visual Basic 6.0 SP4
  • Utilizzare l'utilità di configurazione di sistema (Msconfig.exe) per esaminare l'avvio del sistema e servizi per applicazioni di terze parti che potrebbero limitare il codice in esecuzione nell'applicazione di Office. Per ulteriori informazioni su Msconfig.exe, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
    310560Risoluzione dei problemi errori di configurazione utilizza l'utilità Configurazione di sistema in Windows XP
    Ad esempio, le applicazioni di automazione di Outlook potrebbero non riuscire perché si è in esecuzione un programma antivirus dotato di funzionalità di "blocco di script".

    Nota Disattivare solo il programma antivirus temporaneamente in un sistema di test che non è connesso alla rete.

    In alternativa, attenersi alla seguente procedura in Outlook per disattivare i componenti aggiuntivi di terze parti:
    1. Scegliere Opzioni dal menu Strumenti .
    2. Nella scheda altro , scegliere Opzioni avanzate .
    3. Nella finestra di dialogo Opzioni avanzate , scegliere Gestione componenti .
    4. Fare clic per deselezionare la casella di controllo per qualsiasi componente aggiuntivo di terze parti.
    5. Riavviare Outlook.
    Se questo metodo consente di risolvere il problema, contattare il fornitore di antivirus di terze parti per ulteriori informazioni su un aggiornamento per il programma antivirus.

Reinstallare Office

Se nessuno delle procedure precedenti consente di risolvere il problema, rimuovere Office e quindi reinstallare Office. Microsoft consiglia di rimuovere prima la versione esistente e quindi reinstallare Office utilizzando i dischi originali di installazione.

Per ulteriori informazioni, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito:
219423Come rimuovere il CD1 di Office 2000
158658Rimozione completa di Microsoft Office 97
Riferimenti
Per ulteriori informazioni sulla risoluzione dei problemi il messaggio di 429 errore, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
240377Come garantire Jet 3.5 sia installato correttamente (parte I)
Per ulteriori informazioni su Office automazione e di esempi di codice, visitare il sito di Web di Microsoft:
ACC2007 XL2007 SPD2007 WD2007 OL2007 PPT2007

Avviso: questo articolo è stato tradotto automaticamente

속성

문서 ID: 828550 - 마지막 검토: 07/16/2013 01:44:00 - 수정: 5.6

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

  • kbmt kbexpertisebeginner kbtshoot kbprogramming kberrmsg kbautomation kbinfo KB828550 KbMtit
피드백