4

Каждый раз , когда я открываю *.mdb или *.accdb файл я получаю сообщение желтый бар с текстом на испанском языке , что переводится как:

Предупреждение безопасности: некоторые активные материалы были отключены. Нажмите для более подробной информации.

... и кнопка с надписью «Включить содержимое». Вот скриншот, который я нашел в английской версии:

Предупреждение безопасности

Кнопка заставляет панель исчезнуть и, кажется, запоминает мое решение для текущего файла. Ссылка "подробнее" открывает панель «Файл-> Информация», где я могу прочитать, что « Макросы VBA » были отключены.

Проблема в том, что я не получаю это предупреждение для определенных файлов: я получаю его из всех файлов, включая те, которые, по-видимому, вообще не имеют макросов («Инструменты для баз данных-> Visual Basic» не показывают никакого кода), Даже если я захожу в «Файл-> Создать» и создаю пустую базу данных, при ее открытии появляется предупреждение.

Мои вопросы:

  1. Предупреждение должно отображаться всегда, независимо от содержимого файла?

  2. Если нет, где я могу найти макросы VBA, о которых сообщает Access?

4 ответа4

4

Еще один способ исправить это - создать надежное местоположение для вашего проекта. Вы можете использовать ключ реестра, чтобы сделать вашу папку надежным. Это на самом деле проще, чем звук, если вы знаете, какую клавишу установить.

Раздел реестра немного отличается для каждой версии MS Access, но вот пример ключа для MS Access 2010:

[HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Access\Security\Надежные расположения \Location20] "Path" = "C:\Database \" "Description" = "Расположение моей базы данных"

Если вы копируете и вставляете приведенную выше цитату в текстовый файл и сохраняете ее с именем, например RemoveSecurityWarning.reg, вы можете запустить (объединить) файл в системном реестре, просто дважды щелкнув файл.

Теперь давайте объясним несколько вещей о том, что сделал этот ключ:

  • Число «14.0» является версией MS Office. Вы можете просто изменить это число, которое представляет версию, которую вы используете.
  • "Location20" - это уникальное имя, которое мы присвоили. 20 может быть любым числом, которое еще не используется. Другие программы, в том числе мастера MS Access по умолчанию, уже могли использовать другие номера. Или, если вы хотите сделать более одного пути в качестве надежного местоположения, тогда каждое местоположение должно заканчиваться различным номером.
  • «C:\Database\» на самом деле является физическим путем, который вы хотите установить в качестве надежного расположения. Вы можете поставить любой путь, который вы выберете здесь. Я не уверен, почему он использует double \, но я просто скопировал пример того, как были настроены предыдущие ключи, и это, казалось, работало лучше всего.
  • Описание не требуется, но, очевидно, можно использовать любое описание.

Для получения дополнительной информации читайте эту статью: http://blog.ideaz.net/2013/12/how-to-remove-microsoft-access-security.html

1

Access 2010 автоматически защищает от всех макросов, если не указано иное. Это также отключит содержимое файлов, которым оно не доверяет. Вы должны сказать ему, кому доверять через Центр доверия.

В Access 2010 Центр управления безопасностью контролирует, какой контент разрешен и доступен с помощью кнопки « File > Options > Trust Center > Trust Center Settings управления безопасностью».

В Центре доверия вы можете изменять настройки макросов и добавлять файлы и местоположения в параметры доверия.

0

http://office.microsoft.com/en-us/excel-help/active-content-types-in-your-files-HA010354381.aspx описывает, как это выяснить:

Чтобы просмотреть список заблокированных типов активного контента, перейдите в диалоговое окно центра управления безопасностью.

На этой странице есть список типов контента, которые могут применяться.

-1

Еще один способ сделать это - выполнить изменение реестра для определенного местоположения продукта, которое будет делать это для всех баз данных доступа, а также для Excel или Word. Существует значение, известное как VBAWarnings, которое по умолчанию имеет значение, равное 2, и при изменении его на 1 желтая лента не будет отображаться.

Если вы используете C #, используйте следующий код:

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

Этот код строго и непосредственно для Access 2010, но его можно изменить для циклического перемещения по реестру, включая продукты. По сути, вы должны циклически повторять выпуск, обратите внимание, где написано 14.0, это может быть любой другой выпуск продукта. Если не ошибаюсь, 14.0 для Office 2010, 12.0 для Office 2007 и т. Д .; и где читает Доступ может быть изменен для Excel, а также Word.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .