Acceso mediante programación a proyecto de VBA de Office denegado

Se aplica a: Productos OfficeMicrosoft Office Excel 2007Microsoft Office PowerPoint 2007

Síntomas


El código escrito para automatizar una aplicación de Office y manipular mediante programación el entorno de Microsoft Visual Basic para aplicaciones (VBA) y el modelo de objetos puede dar error en Office con uno de los siguientes mensajes de error: desde Visual Basic o VBA:
Error en tiempo de ejecución ' 6068 ': no se confía en el acceso mediante programación al proyecto de Visual Basic
Desde Microsoft Visual C++, Microsoft Foundation Classes (MFC) o biblioteca de plantillas ActiveX (ATL):
HRESULT = 0x800A17B4 (-2146822220) "el acceso mediante programación al proyecto de Visual Basic no es de confianza"
El mismo código funciona sin errores en equipos con Office 97 y Office 2000.

Causa


Office agrega una opción de seguridad para bloquear de forma deliberada el acceso mediante programación al modelo de objetos de VBA desde cualquier cliente de automatización a menos que el usuario decida permitir dicho acceso. Esta es una opción por usuario y por aplicación, y deniega el acceso de forma predeterminada. Esta opción de seguridad dificulta la creación de un código "de replicación automática" que pueda dañar sistemas de usuarios no autorizados.

Resolución


Para que cualquier cliente de automatización pueda obtener acceso al modelo de objetos de VBA mediante programación, el usuario que ejecuta el código debe conceder acceso de forma explícita. Para activar Access, el usuario debe seguir estos pasos.

Office 2003 y Office XP

  1. Abra la aplicación Office 2003 u Office XP en cuestión. En el menú herramientas , haga clic en macroy, a continuación, haga clic en seguridad para abrir el cuadro de diálogo seguridad de macros .
  2. En la pestaña fuentes de confianza , active la casilla de verificación confiar en el acceso a proyectos de Visual Basic para activar Access.
  3. Haga clic en Aceptar para aplicar la configuración. Es posible que tenga que reiniciar la aplicación para que el código se ejecute correctamente si automatiza desde un complemento o una plantilla del modelo de objetos componentes (COM).

Office 2007

  1. Abra la aplicación de 2007 Microsoft Office System en cuestión. Haga clic en el botón Microsoft Officey, a continuación, en opciones de laaplicación.
  2. Haga clic en la pestaña centro de confianza y, a continuación, en configuración delcentro de confianza.
  3. Haga clic en la pestaña configuración de macros , active la casilla confiar en el acceso al modelo de objeto de proyectos de VBA y, a continuación, haga clic en Aceptar.
  4. Haga clic en Aceptar.