powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
21 сообщений из 21, страница 1 из 1
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38669455
kefirko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В контекстное меню проводника для расширения *.xls я добавил строку "Открыть с макросом" (см. картинку), но как заставить Excel открыть этот файлик и запустить нужный мне макрос, я пока информации не нашел.
Есть возможность запуска макроса при открытии любой книги, но это не вариант ( http://www.excel-vba.ru/forum/index.php?topic=1788.0). Не все документы мне нужно обрабатывать.
У Word'а есть флаг "/mmacroname" ( http://office.microsoft.com/ru-ru/word-help/HP010164010.aspx) это то, что надо, но надо в Excel, а в Excel его нет.

Может ли быть решения подобного функционала?

excel.exe {запустить макрос_1} "%1",
где %1 - адрес файла для которого нужно запустить макрос_1
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38669456
kefirko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможно тему стоило разместить в ветке Microsoft Office. Просьба перенести, если это так.

Модератор: Тема перенесена из форума "Visual Basic".
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38670609
_Дмит_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Стесняюсь спросить, Вы знаете о Sub auto_open() или Sub Workbook_Open() ?
И как Вы будете выбирать необходимый макрос в контекстном меню?
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38670895
kefirko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Дмит_, kefirkoЕсть возможность запуска макроса при открытии любой книги, но это не вариант ( http://www.excel-vba.ru/forum/index.php?topic=1788.0). Не все документы мне нужно обрабатывать.

_Дмит_И как Вы будете выбирать необходимый макрос в контекстном меню?
А вот в этом и есть вопрос.
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38670957
VBS_EXCEL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kefirko,
Напишите VBS с нужным кодом, используйте файл как excel, как параметр VBS.
Останется только перетянуть excel файл на нужный vbs
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38671222
_Дмит_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если бы в Excel был ключ /mmacroname, то получилось бы:
открываем любой файл Excel'я через Ваше контекстное меню
запускается файл
запускается макрос macroname (для любой книги только этот - "macroname")

Почему Вас не устраивает macroname = auto_open ?
Предположения:
Иногда не нужен автозапуск - но есть методы заблокировать его.
Не нужен автозапуск определённому пользователю - можно в макросе узнать его имя и не производить действия.
Не нужен автозапуск, поскольку он редко необходим - так запускайте макрос вручную, когда нужно.

Да возможно запустить в контекстном меню утилиту которая запустит Excel и произведёт необходимые действия с файлом. (VBS как вариант в эту сторону)

Вообще то, не до конца понятна цель этого.
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38671419
kefirko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Дмит_Вообще то, не до конца понятна цель этого.
Есть папка, в которой лежит добрая сотня разных Excel документов в разными названиями. Часть из них надо перелопатить, часть нет. Пробегаю глазами по всем, выделяю нужные мне. Правой кнопкой - Обработать макросом. Готово.
Сейчас это происходит так. Нашел нужный, открыл, макрос, нашел нужный, открыл, макрос...
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38671427
kefirko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VBS_EXCELkefirko,
Напишите VBS с нужным кодом, используйте файл как excel, как параметр VBS.
Останется только перетянуть excel файл на нужный vbs
Есть какой-н пример подобной реализации, что бы знать хоть от чего отталкиваться?
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38671544
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kefirko...Сейчас это происходит так. Нашел нужный, открыл, макрос, нашел нужный, открыл, макрос...
Такие вещи я раньше делал просто. Програмка для обработки всех файлов в директории, перенес/скопировал нужные файлы в другой директорий, обработал, вернул на место. Но может это потому, что привык FAR'ом пользоваться )))

А програмка то вроде должна быть элементарной. Пишется за 1-2 часа на каком угодно языке.

Ну и если "добрая сотня разных Excel документов...пробегаю глазами по всем..." уже как-то с организацией работы что-то не то.

Добавлять в контекстное меню не умею ((( т.ч. тут я Вам не помощник.
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38671626
VBS_EXCEL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kefirko,
удалит данные с первого листа книги
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
xlsFileName = WScript.Arguments.Item(0) 
set fso = createobject("Scripting.FileSystemObject")
set a = createobject("excel.application")
a.visible=false
set b = a.workbooks.open(xlsFileName)
b.sheets(1).cells.clear
b.close true
a.quit
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38671635
VBS_EXCEL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kefirko, так переберем все файлы, которые выделим и затянем на vbs

Код: vbnet
1.
2.
3.
for i=0 to WScript.Arguments.count-1
msgbox WScript.Arguments.Item(i) 
next
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38675548
Ольга_А
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пуск\Панель управления\Назначенные задания\Добавить задание
Выбираем приложение excel, следуем за мастером, ставим галочку "Установить дополнительные параметры после нажатия кнопки "Готово". Нажимаем"Готово", в строке выполнить в конце через пробел дописываем путь\имяфайла.xls
В макросе
Sub Auto_open()
Название запускаемого макроса
End sub
У меня так работают по расписанию и excel и sql plus.
Из минусов - работают, когда комп включен. И если меняете пароль на вход в систему, то надо в свойствах назначенного задания задать новый пароль.
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38675932
kefirko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ольга_А, не то. Так как как раз и не надо. В шапке же написано.
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38676772
VBS_EXCEL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kefirko,

VBS освоили или чего не понятно?
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38677195
Eugene_p1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну колхозники... :)

Открыть книгу, далее Alt+F11 (редактор VBA)
Выбрать слева в объектах эксель "ЭтаКнига" (ThisWorkbook)

Код: vbnet
1.
2.
3.
4.
5.
Sub Workbook_Open()

    rem сделать что-нибудь полезное

End Sub
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38677634
kefirko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eugene_p1Ну колхозники... :)

Открыть книгу, далее Alt+F11 (редактор VBA)
Выбрать слева в объектах эксель "ЭтаКнига" (ThisWorkbook)

Код: vbnet
1.
2.
3.
4.
5.
Sub Workbook_Open()

    rem сделать что-нибудь полезное

End Sub



Вы видимо читать совсем не умеете. Прочтите еще раз шапку.
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38677644
kefirko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VBS_EXCEL, логику, предложеную вами, я понял. Сейчас в процессе написания. Вся трудность в том, что макросы в Excel написать не сложно: поставил на запись, сделал нужные действия, потом посмотрел, что за код получился, подправил по логике и готово. А тут все ручками. Или есть еще варианты?
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38677761
Eugene_p1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kefirko
Вы видимо читать совсем не умеете. Прочтите еще раз шапку.
Ну да, несколько поторопился.

Однако не совсем понятно вот что.
У Вас есть .xls[m], который содержит макрос, который Вам нужно запускать при открытии определенных файлов? Причем с одним и тем же файлом иногда надо, а иногда нет?
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38677920
VBS_EXCEL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kefirko А тут все ручками. Или есть еще варианты?
да собственно не вижу отличий в vbs и vba. константы заменить только на их числовые значения и собственно все, объектную модель Вы все равно excel используете
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38678063
_Дмит_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так понимаю, что у Вас нет проблем с VBA, так и действуйте с его логикой:
а открываем одну книгу
б запускаем один макрос
в в макросе формируем список обрабатываемых файлов (лучше это сделать автоматически
ведь логика их выбора проста, судя по описанию-выбор по именам файлов)
Можно и вручную выбирать файлы тем или иным способом в макросе, это не проще выбора
в проводнике.
г в цикле обрабатываем файлы (если у вас один макрос во всех книгах, то обработка в этом
же одном макросе, если в каждой книге свой, то запускаем в каждой книге свой)
д завершаем работу, возможно вывод отчёта.
...
Рейтинг: 0 / 0
Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
    #38682407
kefirko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С горем пополам сделал. Спасибо всем, кто помогал, но VBS_EXCEL самое большое спасибо. Сначала конечно начал весь макрос переколачивать в script.vbs, но потом допер, что ведь можно просто вызвать нужный макрос.

Результат:
В реестре прикрутил к расширению *.xls еще одну строчку в контекстном меню. По вызову этого пункта меню происходит следующее: cscript c:\script.vbs "%1"

Код самого script.vbs :
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
xls = WScript.Arguments.Item(0) 
set App = createobject("excel.application")
App.visible = false
App.Workbooks.Open("C:\Documents and Settings\User\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.XLS") ' тут все мои макросы
set Book = App.Workbooks.Open(xls) ' обрабатываемый файл
App.Run("PERSONAL.XLS!SuperMacros") ' вызываем нужный макрос
Book.Close true
App.quit


Все работает ровно как хотел.
Happy End.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Открытие файла Excel и запуск нужного макроса в автоматическом режиме. Есть ли решение?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]