Sintomi
Il codice scritto per automatizzare un'applicazione di Office e modificare a livello di programmazione l'ambiente Microsoft Visual Basic, Applications Edition (VBA) e il modello a oggetti potrebbe non riuscire in Office con uno dei messaggi di errore seguenti: Da Visual Basic o VBA:
Errore di runtime '6068': Accesso programmatico a Visual Basic Project non attendibile
Da Microsoft Visual C++, Microsoft Foundation Classes (MFC) o ActiveX Template Library (ATL):
HRESULT = 0x800A17B4 (-2146822220) "Accesso programmatico a Visual Basic Project non attendibile"
Lo stesso codice funziona senza errori nei computer con Office 97 e Office 2000.
Causa
Office aggiunge un'opzione di sicurezza per bloccare deliberatamente l'accesso programmatico al modello a oggetti VBA da qualsiasi client di automazione, a meno che un utente non scelga di consentire tale accesso. Si tratta di un'impostazione per utente e per applicazione e impedisce l'accesso per impostazione predefinita. Questa opzione di sicurezza rende più difficile per i programmi non autorizzati creare codice "autoreplicante" che può danneggiare i sistemi degli utenti finali.
Risoluzione
Affinché qualsiasi client di automazione possa accedere al modello a oggetti VBA a livello di programmazione, l'utente che esegue il codice deve concedere esplicitamente l'accesso. Per attivare l'accesso, l'utente deve seguire questa procedura.
Office 2003 e Office XP
-
Aprire l'applicazione di Office 2003 o Office XP in questione. Scegliere Macro dal menu Strumenti e quindi fare clic su Sicurezza per aprire la finestra di dialogo Sicurezza macro.
-
Nella scheda Origini attendibili fare clic per selezionare la casella di controllo Considera attendibile l'accesso a Visual Basic Project per attivare l'accesso.
-
Fare clic su OK per applicare l'impostazione. Potrebbe essere necessario riavviare l'applicazione affinché il codice venga eseguito correttamente se si automatizza da un componente aggiuntivo o un modello COM (Component Object Model).
Office 2007
-
Aprire l'applicazione di Microsoft Office System 2007 in questione. Fare clic sul pulsante Microsoft Office e quindi suOpzioniapplicazione.
-
Fare clic sulla scheda Centro protezione e quindi suImpostazioni Centro protezione.
-
Fare clic sulla scheda Impostazioni macro , selezionare la casella di controllo Considera attendibile l'accesso al modello a oggetti di progetto VBA e quindi fare clic su OK.
-
Scegliere OK.