Errore runtime 429 quando Ŕ automatizzare le applicazioni di Office

Traduzione articoli Traduzione articoli
Identificativo articolo: 828550 - Visualizza i prodotti a cui si riferisce l?articolo.
Per un Microsoft Office XP, Office 2000 e una versione di Office 97 di questo articolo, vedere 244264.
Espandi tutto | Chiudi tutto

In questa pagina

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 code
    oWordApp.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.Application
    Dim oDoc As Word.Document
    Set oWordApp = CreateObject("Word.Application")
    '... some other code
    Set 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.
      Riduci questa tabellaEspandi questa tabella
      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.
    Riduci questa tabellaEspandi questa tabella
    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:
http://support.microsoft.com/ofd

ProprietÓ

Identificativo articolo: 828550 - Ultima modifica: martedý 16 luglio 2013 - Revisione: 5.6
Le informazioni in questo articolo si applicano a:
  • 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
Chiavi:á
kbmt kbexpertisebeginner kbtshoot kbprogramming kberrmsg kbautomation kbinfo KB828550 KbMtit
Traduzione automatica articoli
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
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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