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 для этого, но, безусловно, проще всего вызвать макрос для запуска.
Ответы
Ответ 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