2015-08-06 10 views
0

У меня есть довольно большой фрагмент кода excel vba, который мне нужно запустить. Проблема в том, что мне нужно запустить его из Access, а безопасность компании не позволяет запускать макрос из внешнего триггера.Простой способ использования excel vba в доступе vba

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

Могу ли я просто скопировать код и запустить его в Access и как-то сказать, что «ActiveChart» и «WorkSheets (« XY ») находятся в файле Excel« Z »?

Благодаря

Kaz

+0

Acces s VBA может запускать любой Excel VBA. Вам просто нужно вызвать соответствующие объекты и константы. Лично я стараюсь никогда ничего не запускать в Excel. Как реляционная база данных, Access имеет более надежную среду приложений и автоматизации с механизмом SQL, построителем интерфейса GUI и генератором отчетов, гораздо лучшим инструментом, чем электронная таблица flatfile. – Parfait

ответ

2

Используйте экземпляр Excel в вашей Access VBA:

Вам нужно будет установить ссылку на Microsoft Excel библиотеку 15,0 Объекта

Dim appExcel As Excel.Application 
Dim wrkBook As Excel.Workbook 

Set appExcel = New Excel.Application 
Set wrkBook = appExcel.Workbooks.Open("C:\test.xlsx") 

wrkBook.Worksheets("Sheet 1").Activate 

With wrkBook.ActiveSheet 

.... и т.д.

+1

Нет ссылки, если вы используете позднюю привязку (особенно когда пользователи могут иметь разные версии): 'Dim appExcel as Object Set appExcel = CreateObject (" Excel.Application ")' – Parfait

Смежные вопросы