Accesso a livello di programmazione al progetto Office VBA negato

Si applica a
Office Products Excel 2010

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

  1. 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.
  2. Nella scheda Origini attendibili, fare clic per selezionare la casella di controllo Considera attendibile l'accesso a Visual Basic Project per attivare l'accesso.
  3. 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

  1. Aprire l'applicazione Microsoft Office System 2007 in questione. Fare clic sul pulsante Microsoft Office e quindi su
    Opzioni dell'applicazione.
  2. Fare clic sulla scheda Centro protezione e quindi su
    Impostazioni Centro protezione.
  3. 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.
  4. Fare clic su OK.