Тема: Как запустить модуль VBA, находящийся в Excell, из командной строки?

Есть модуль VBA, который работает с Access. Я его засунул в Excell, чтобы проверить, работает он или нет. Все нормально, работает. Проблема в том, как запустить этот модуль из командной строки? Возможно ли его откомпилировать и получит exe-файл?

Re: Как запустить модуль VBA, находящийся в Excell, из командной строки?

Установи VB и скомпилируй хоть в dll.

Re: Как запустить модуль VBA, находящийся в Excell, из командной строки?

Т.е. редакторе Visual Basic того же Excell я не могу этого сделать? Этот редактор и VB, который вы советуете установить - это разные вещи? Можно поподробнее рассказать? Я с VBA никогда раньше не работал.

Re: Как запустить модуль VBA, находящийся в Excell, из командной строки?

Если организовать запуск модуля при открыти Excel, то из командной строки достаточно будет запустить Excel.

Re: Как запустить модуль VBA, находящийся в Excell, из командной строки?

VB я имел в виду самостоятельный язык а не VBA

Re: Как запустить модуль VBA, находящийся в Excell, из командной строки?

shell - на сколько я знаю, позволяет запускать не только программу, но и программу с коммандной строкой...
Т.е. чтобы запустить модуль в Excel из AutocadVBA нужно:
- чтобы модуль, работающий в Excel был размещен в каком-нибудь файле Excel или в файле PERSONAL.XLS (который запускатся автоматически при запуске Excel)
- модуль должен вызываться из процедуры с именем Workbook_Open, расположенной в разделе проекта этого файла (эта процедура начнет свою работу при открытии файла, если, конечно, в Excel не отлючена возможность работы макросов).
- важно проверить, что при открытии этого файла (или при запуске Excel) модуль начинает работу.
- в AutoVBA включить вызов Excel через shell c указанием в командной строке имени файла Excel, содержащего описнный выше модуль и процедуру.

Re: Как запустить модуль VBA, находящийся в Excell, из командной строки?

Вот что у меня получилось (работает):

Public Sub sss()
    n = Shell("C:\Program Files\Microsoft Office\Office10\excel.exe C:\Docume~1\Evgeny\C316~1\filemodule.xls", vbNormalFocus)
End Sub

Важно:
Путь к фалу должен быть без пробелов. если это невозможно, нужно использовать короткие имена файлов (как в DOSе). Чтобы уточнить короткие имена файлов и папок, можно воспользоваться коммандой dir c ключом \x в коммандном режиме Windows'a.

Re: Как запустить модуль VBA, находящийся в Excell, из командной строки?

Если чутка подправить ненужны будут короткие пути
Public Sub sss()
    n = Shell( Chr(34) &"C:\Program Files\Microsoft Office\Office10\excel.exe" & Chr(34) &" " & Chr(34) & "C:\Documetы тут\Evgeny\C316\filemodule.xls"& Chr(34) , vbNormalFocus)
End Sub