Запуск екселевского макроса с помощью файла .bat

fatu

Как запрограммировать батник, который производил бы следующую последовательность действий:
1.Открытие файла *.xls
2.Запуск первого макроса, который находится в этом файле(например на макрос поставлено какое-то сочетание горячих клавиш)
3.Архивирование файлов, которые наделал макрос(как написать архивирование я знаю)
4.Запуск второго макроса.

yolki

у книги есть макрос, срабатывающий на открытие. OnOpen вроде.
записывай туда все действия

6yrop

При открытии файла срабатывает событие Workbook_Open. Может этого хватит...

6yrop

опередил

0000

Запихиваем все в <filename>.vbs

' Выполнение макроса из Excel (Macros.xls,MyMacros)
objPath = "C:\"

set objXL = WScript.CreateObject("Excel.Application")
objXL.Visible = False
objXL.Workbooks.Open (objF.Path & "\Macros.xls")
strS = objXL.Run("Macros.xls!MyMacros")
objXL.quit

Этот фаил можно запусть из bat, но по-моему лучше совсем отказаться от bat.

fatu

Этак он будет срабатывать каждый раз, когда я буду файл открывать - этого не надо совсем.

fatu

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

0000

Как-как - ботать справку по Windows Script Host вестимо
Простейший запуск проги из vbs файла

set objShell = CreateObject("WScript.Shell")
objShell.Run Chr(34) & "C:\Program Files\3DMark03\3DMark03.exe" & Chr (34 5

nekaya

вспоминается что-то типа
[local_path\]Excel.exe [local_path\]file_name /x macro_name

хотя, возможно, это относится к Access
Оставить комментарий
Имя или ник:
Комментарий: