Sintomi
Il codice scritto per automatizzare un'applicazione di Office e modificare a livello di programmazione l'ambiente e il modello a oggetti di Microsoft Visual Basic, Applications Edition (VBA) potrebbe non riuscire in Office con uno dei seguenti messaggi di errore:
Da Visual Basic o VBA:
Nota
Errore di runtime '6068': l'accesso programmatico a Visual Basic Project non è attendibile
Da Microsoft Visual C++, Microsoft Foundation Classes (MFC) o ActiveX Template Library (ATL):
Nota
HRESULT = 0x800A17B4 (-2146822220) "L'accesso programmatico a Visual Basic Project non è attendibile"
Lo stesso codice funziona senza errori sui computer con Office 97 e Office 2000.
Causa
Office aggiunge un'opzione di sicurezza per bloccare deliberatamente l'accesso a livello di programmazione al modello a oggetti VBA da qualsiasi client di automazione, a meno che un utente non scelga di consentire tale accesso. Questa impostazione viene applicata a singoli utenti e applicazioni e impedisce l'accesso per impostazione predefinita.
Impostando questa opzione di sicurezza, è più difficile per i programmi non autorizzati generare codice che si replica automaticamente e che può danneggiare i sistemi degli utenti finali.
Risoluzione
Affinché un client di automazione possa accedere al modello a oggetti VBA a livello di programmazione, è necessario che l'utente che esegue il codice conceda esplicitamente l'accesso. Per attivare l'accesso, l'utente deve seguire questa procedura.
Office 2003 e Office XP
- Aprire l'applicazione Office 2003 o Office XP in questione. Scegliere Macro dal menu Strumenti e quindi Sicurezza per aprire la finestra di dialogo Protezione 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 per eseguire correttamente il codice se si esegue l'automazione da un componente aggiuntivo o un modello COM (Component Object Model).
Office 2007
- Aprire l'applicazione Microsoft Office System 2007 in questione. Fare clic sul pulsante Microsoft Office e quindi su
Opzioni dell'applicazione. - Fare clic sulla scheda Centro protezione e quindi su
Impostazioni Centro protezione. - Fare clic sulla scheda Impostazioni macro , selezionare la casella di controllo Considera attendibile l'accesso al modello a oggetti del progetto VBA e quindi fare clic su OK.
- Fare clic su OK.