|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.04.2014, 07:59 | #1 |
Новичок
Джуниор
Регистрация: 17.04.2014
Сообщений: 5
|
Выполнить макрос из другого файла
Прошу помочь знатоков. Требуется пакетная обработка файлов. Есть макросы, записанные в файлах 1.xlsm, 2.xlsm и т.д. И есть большое количество обычных файлов *.xlsx. В зависимости от содержимого (ну, скажем, в зависимости от содержимого ячейки A1) к каждому из этих файлов нужно применить преобразование, записанное в некотором файле с макросом. Т.е., например, в файле 1.xlsx выполнить макрос из 1.xlsm, в 2.xlsx выполнить макрос из 2.xlsm и.т.д. Как это сделать? Сложность именно в том, чтобы считать макрос, записанный в одном файле, и выполнить его в другом. Да, пишу программу на c#.
|
17.04.2014, 10:36 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
выглядеть это будет примерно так (на VBA):
Application.run "полный путь к файлу в одинарных кавычках!НазваниеМакроса" например: Код:
|
17.04.2014, 11:34 | #3 |
Новичок
Джуниор
Регистрация: 17.04.2014
Сообщений: 5
|
Прошу прощения, что не понимаю. А как при таком вызове программа узнает, в каком файле находится макрос MyMacro? Он ведь не в 1.xlsx, а в 1.xlsm.
|
17.04.2014, 11:57 | #4 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
А для чего, по-вашему, перед названием макроса прописывается в кавычках полный путь к файлу с макросом?
Разумеется, макрос должен быть написан правильно, - чтобы он обрабатывал не свой файл (или первый попавшийся), а активный в данный момент файл (или файл, путь к которому передается в качестве параметра) |
17.04.2014, 13:03 | #5 |
Новичок
Джуниор
Регистрация: 17.04.2014
Сообщений: 5
|
Т.е. например такой код?
Код:
|
17.04.2014, 13:35 | #6 |
Форумчанин
Регистрация: 21.10.2012
Сообщений: 208
|
А попробовать слабо?
|
17.04.2014, 13:45 | #7 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
del.......
webmoney: E265281470651 Z422237915069 R418926282008
|
18.04.2014, 18:39 | #8 |
Новичок
Джуниор
Регистрация: 17.04.2014
Сообщений: 5
|
Решено!
Отписываюсь - заработало!..
Правда, сначала я написал так: Код:
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Макрос: обновление одного файла данными из другого | darthraziel | Microsoft Office Excel | 33 | 18.09.2012 17:11 |
Выполнить макрос в заданной книге | Gregor | Microsoft Office Excel | 1 | 18.06.2012 14:17 |
Выполнить макрос в excel документе | WennY | Компоненты Delphi | 1 | 22.02.2012 21:03 |
Макрос, запускающий макрос из другого закрытого файла | petruha | Microsoft Office Excel | 7 | 14.03.2010 11:31 |
Как выполнить процедуру (функцию) из другого модуля | Всеслав | Общие вопросы Delphi | 4 | 23.05.2009 19:43 |