Advertencia de seguridad de contenido activo en todos los archivos

4

Cada vez que abro un archivo *.mdbo *.accdbrecibo la barra de mensajes amarilla con un texto en español que se traduce como:

Advertencia de seguridad: se ha deshabilitado parte del contenido activo. Haga clic para más detalles.

... y un botón con la etiqueta «Habilitar contenido». Aquí hay una captura de pantalla que encontré de la versión en inglés:

Advertencia de seguridad

El botón hace que la barra desaparezca y parece recordar mi decisión sobre el archivo actual. El enlace "más detalles" abre el panel "Archivo-> Información" donde puedo leer que las " macros de VBA " estaban deshabilitadas.

El problema es que no recibo esta advertencia para archivos específicos: la obtengo de todos los archivos , incluidos aquellos que aparentemente no tienen macros (las "Herramientas de base de datos-> Visual Basic" no muestran ningún código) . Incluso si voy a "Archivo-> Nuevo" y creo una base de datos en blanco, la advertencia aparece cuando la abro.

Mis preguntas:

  1. ¿Se supone que la advertencia aparece siempre sin importar el contenido del archivo?

  2. Si no, ¿dónde puedo encontrar las macros de VBA sobre las que Access informa?

Álvaro González
fuente
Para el votante: me complacerá editar la pregunta para mejorarla. Pero necesito saber qué pasa.
Álvaro González
En Access 2007, vaya a la cosita de Windows en la parte superior izquierda, elija Opciones, en la parte inferior de la lista encontrará algo como "Centro de seguridad" o "Centro de confidencialidad" (mi versión no está en inglés), una vez que haga clic en eso habrá un botón con parámetros, haga clic en él y cambie la configuración de seguridad de Macros. Eso debería hacer el truco.
PO
@JoBedard - Gracias. La GUI de Access 2010 es diferente. He examinado todos los paneles y diálogos sobre seguridad, pero solo tengo la opción de bloquear o ejecutar macros; no veo información sobre qué macros precisas están activando la advertencia.
Álvaro González
1
Al menos para obtener la lista de macros y módulos, ¿intentó hacer clic derecho en la barra de título del Panel de navegación -> Elegir opciones de navegación -> sección Opciones de visualización -> marcar la opción Mostrar objetos ocultos?
PO
@JoBedard - Ja, ja, nunca sospeché que hubiera un menú contextual en un combo. Ahora puedo ver varias tablas que comienzan con MSyspero no otro tipo de objetos.
Álvaro González

Respuestas:

4

Otra forma de solucionar esto es crear una ubicación de confianza para su proyecto. puede usar una clave de registro para hacer de su carpeta una Ubicación de confianza. Esto es realmente más fácil de lo que suena una vez que sabes qué tecla configurar.

La clave de registro es ligeramente diferente para cada versión de MS Access, pero aquí hay una clave de muestra para MS Access 2010:

[HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 14.0 \ Access \ Security \ Trusted Locations \ Location20] "Path" = "C: \ Database \" "Descripción" = "Ubicación de mi base de datos"

Si copia y pega la cita anterior en un archivo de texto y la guarda con un nombre como RemoveSecurityWarning.reg, puede ejecutar (fusionar) el archivo en el registro de su computadora simplemente haciendo doble clic en el archivo.

Ahora vamos a explicar algunas cosas sobre lo que hizo esta clave:

  • El número "14.0" es la versión de MS Office. Simplemente puede cambiar eso al número que representa la versión que está ejecutando.
  • La "Ubicación20" es un nombre único que le asignamos. El 20 puede ser cualquier número que aún no se haya usado. Otros programas, incluidos los asistentes predeterminados de MS Access, ya pueden haber usado otros números. O si desea hacer más de una ruta como ubicación de confianza, cada ubicación debe terminar con un número diferente.
  • La "C: \ Base de datos \" en realidad es la ruta física que desea establecer como una Ubicación de confianza. Puede poner cualquier ruta que elija aquí. No estoy seguro de por qué usa double \, pero acabo de copiar el ejemplo de cómo se configuraron las claves anteriores y esto pareció funcionar mejor.
  • La Descripción no es necesaria, pero obviamente cualquier descripción puede ser utilizada.

Para más detalles, lea este artículo: http://blog.ideaz.net/2013/12/how-to-remove-microsoft-access-security.html

ideaztech
fuente
1
Estrictamente hablando, esto no responde a mi pregunta. Pero me dan ganas de cambiar mi pregunta :) Gran consejo. (Por el lado de Microsoft, un mecanismo de seguridad que se basa en la ubicación del archivo en lugar de contenido del archivo no es posiblemente la mejor idea.)
Álvaro González
1

Access 2010 protege automáticamente contra todas las macros a menos que le indique lo contrario. También deshabilitará el contenido de los archivos en los que no confía. Debe decirle en quién confiar a través del Centro de confianza.

En Access 2010, el Centro de confianza controla qué contenido está permitido y se puede acceder mediante un File > Options > Trust Center > Trust Center Settingsbotón.

ingrese la descripción de la imagen aquí

Dentro del Centro de confianza, puede cambiar la configuración de macro y agregar archivos y ubicaciones a la configuración de confianza.

ingrese la descripción de la imagen aquí

CharlieRB
fuente
1
Sí, pero ... ¿Comprueba si realmente hay macros antes de mostrar la advertencia o la advertencia se muestra cada vez que abre un archivo sin importar si tiene macros o no?
Álvaro González
1
Hasta donde sé, verifica cada archivo, a menos que la configuración del Centro de confianza le indique que haga lo contrario. Aquí hay una buena información sobre cómo funciona.
CharlieRB
Supongo que su comentario responde una de mis preguntas: si recibo la advertencia, debe haber una macro en algún lugar del archivo. Por alguna razón, mi copia de Access debe estar inyectando macros ocultas a todos los archivos. Los escáneres de virus no informan nada, por lo que debe ser un complemento o algo así ...
Álvaro González
Si agrega el archivo al Centro de confianza, ¿aún recibe la advertencia?
CharlieRB
Por lo que puedo decir, todos los métodos para aprobar o rechazar automáticamente la ejecución de macros funcionan correctamente.
Álvaro González
0

http://office.microsoft.com/en-us/excel-help/active-content-types-in-your-files-HA010354381.aspx describe cómo averiguarlo:

Para ver una lista de tipos de contenido activo bloqueado, vaya al cuadro de diálogo Centro de confianza.

Hay una lista en esa página de los tipos de contenido que pueden aplicarse.

Nate de Kalamazoo
fuente
Creo que el "Haga clic para obtener más detalles" me da puntos al diálogo equivalente en Access. Pero todo lo que dice es "Macros VBA" (sin detalles).
Álvaro González
-1

Otra forma de hacerlo es realizar un cambio de registro en una ubicación de producto específica que lo hará en todas las bases de datos de acceso, así como en Excel o Word. Hay un valor conocido como VBAWarnings que, de manera predeterminada, tiene el valor establecido en 2 y cuando lo cambia a 1 no se mostrará la cinta amarilla.

Si está utilizando C #, use el siguiente código:

using Microsoft.Win32; // for required for registry reading/writing

// Opening the Registry Key
RegistryKey rk = Registry.CurrentUser;
// Open the corresponding Subkey
// I have to use CreateSubKey
// (create or open it if already exists),
// 'cause OpenSubKey open a subKey as read-only
RegistryKey sk1 = rk.CreateSubKey("Software\\Microsoft\\OFFICE\\14.0\\Access\\Security");
// Save the value to change Macro Settings in Security Warning
//sk1.SetValue("VBAWarnings, 4); //Disable all macros without notification
//sk1.SetValue("VBAWarnings, 3); //Disable all macros except digitally signed macros
//sk1.SetValue("VBAWarnings, 2); //Disable all macros with notification - Default Office Setting
sk1.SetValue("VBAWarnings", 1); // Enable all macros

Este código es estricta y directamente para Access 2010, pero se puede cambiar para recorrer el registro, incluidos los productos. Básicamente, debe realizar un ciclo por versión, observe donde se lee 14.0, puede ser cualquier otra versión del producto. Si no se confunde, 14.0 es para Office 2010, 12.0 es para Office 2007, etc .; y donde se lee El acceso se puede cambiar tanto para Excel como para Word.

Humbert
fuente