Подтвердить что ты не робот

Script, чтобы открыть базу данных Access, запустить макрос и сохранить экземпляр Access

Я хотел бы иметь script для:

  • Открыть файл доступа .accdb
  • Запуск макроса в базе данных
  • Оставьте это открытым

Я могу очень легко сделать первые два со следующим VB script:

dim accessApp
set accessApp = createObject("Access.Application")
accessApp.visible = true
accessApp.OpenCurrentDataBase("C:\path.accdb")
accessApp.Run "myLinker"

Но он немедленно закрывает базу данных Access, когда завершается выполнение VBS. Я бы хотел, чтобы экземпляр оставался открытым независимо от script.

Я не вынужден использовать VBScript для этого, но, безусловно, проще всего вызвать макрос для запуска.

4b9b3361

Ответ 1

Если вы хотите оставить приложение открытым после завершения script, вам необходимо установить для свойства UserControl значение true.

dim accessApp
set accessApp = createObject("Access.Application")
accessApp.visible = true

accessApp.UserControl = true

accessApp.OpenCurrentDataBase("C:\path.accdb")
accessApp.Run "myLinker"

Свойство Visible технически не нужно, если свойство UserControl равно true. Он будет автоматически установлен.

Дополнительная информация здесь: http://msdn.microsoft.com/en-us/library/office/ff836033.aspx

Ответ 2

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

START "" /MAX "PATH\TO\MSACCESS.EXE" "C:\path.accdb" /x myLinker