Откройте базу данных Access с отключенными сценариями (макросы и VBA)

2495
Hugh Allen

Предположим, вы хотите проверить содержимое базы данных Access, которой вы не доверяете.

Кажется, должен быть способ открыть его в Access с отключенными макросами и VBA.

При поиске в Интернете я нашел несколько вариантов, которые не совсем верны:

  • Удерживайте нажатой клавишу Shift, чтобы подавить любой макрос Autoexec или форму запуска. Ничего хорошего, потому что (невероятно) это можно обойти .
  • Установите уровень безопасности макросов на Средний. Единственные варианты, которые он вам дает - это Отмена и Открыть. Там нет "открыть с отключенными сценариями".
  • «Режим песочницы», т.е. «блокировать небезопасные выражения». Ничего хорошего, большинство сценариев все еще работают.
  • Статья базы знаний Как отключить Visual Basic для приложений при развертывании Office 2003 или Office XP, есть 5 вариантов, которые являются всего лишь вариантами двух методов:
    • удалить (или не устанавливать) VBA. Слишком радикально. Я все еще хочу изучить код, который я мог бы или не мог хотеть выполнить.
    • Установите значение реестра "VBAOff", эквивалентно через Политику или regedit. Это работает для всех приложений Office, кроме Access!

У кого-нибудь есть другие идеи? Я использую Access 2003.

0
Если вы действительно не доверяете ему, как насчет того, чтобы открыть его на виртуальной машине и просто откатить снимок, если он что-то сломает? cularis 12 лет назад 0
@cularis: виртуальная машина работает, но она немного громоздка. Кажется, должен быть способ сделать то, что я прошу. Hugh Allen 12 лет назад 0
Что в этом, что вы хотите изучить? Если это только таблицы данных, создайте новую пустую базу данных, а затем создайте ссылку на таблицы в другой базе данных. Это будет полностью безопасно. Если вам нужно посмотреть на код, это другая проблема. Чего именно ты боишься? David W. Fenton 12 лет назад 0
Вам известно о том, что вы можете снова включить DisableBypassKey, не открывая базу данных в интерфейсе доступа? David W. Fenton 12 лет назад 0
@ Дэвид У. Фентон: (вы имеете в виду AllowBypassKey), это хорошая идея, о которой я не задумывался. Это все еще требует усилий, хотя :( Hugh Allen 12 лет назад 0
Опять же, чего ты боишься? David W. Fenton 12 лет назад 0

1 ответ на вопрос

0
Eliptical View

Вы можете ссылаться на таблицы из одного экземпляра Access в другой. Делая это, вы можете контролировать свою среду просмотра и, таким образом, быть уверенным, что будут работать только те формы и макросы, которые вы хотите запустить.

Например, создать новую пустую базу данных. Назовите это как DB1.mdb. Затем выберите Таблицы | Новый | Ссылка .. и затем укажите базу данных и таблицу, которую вы хотите безопасно просматривать. Повторите это для каждой таблицы, к которой вы хотите получить доступ. После создания ссылки на таблицы вы можете создавать запросы, формы и отчеты по этим таблицам без какого-либо риска запуска нежелательных макросов.

Более мощный, но также с более техническими возможностями с вашей стороны, вы также можете перетаскивать запросы, формы, отчеты и Visual Basic и макросы из DB1.mdb в DB2.mdb. Прежде чем запускать их, вы можете проверить их, чтобы убедиться, что они будут или не будут делать. Например, вы могли бы открыть их и удалить любые макросы, например, если вы по какой-то причине действительно не обращали внимания на то, что там было. - Ура

Похожие вопросы