|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
Господа, доброго времени суток. Замучил вопрос, возможно дурацкий. Есть два файла Excel: Книга1 и Книга2. В книге2 есть макрос2. Задача: написать в Книге1 макрос, который: 1. Открывает книгу2 2. Запускает в ней Макрос2 3. Закрывает книгу2 На втором шаге затык: не знаю как по-человечески вызвать из Макроса Книги1 макрос, хранящийся в Книге2. Пока решил проблему, повесив Макрос2 на определенное событие книги2 (Worksheet_Change), но есть чувство, что это лечение зубов через задний проход. Есть ли способ запустить макрос в книге2, обратившись к нему по имени? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2010, 12:55 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2010, 00:46 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
Работает! )))) Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2010, 11:00 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
Здравстуйте! У меня есть следующий вопрос! Есть Кгнига1 и в ней Макрос1. В макросе прописано, что когда я его выполняю, мне нужно сначала открыть файл с расширением *.bin. iFile = Application.GetOpenFilename("Binäre Dateien, *.bin", , "Datei öffnen") ChDir (FilePath(iFile)) У меня следующий вопрос - как прописать, чтобы: 1. Макрос выполнялся автоматически при открытии Книга1 2. Чтобы оно не открывало окно для выбора bin-файла, а атоматически открывало файл test.bin. я в этом не разбираюсь, поэтому если можно, то попроще и по понятней, как говорится, для чайников )) Заранее большое спасибо!! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2010, 17:57 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
> Автор: lara-punk > У меня следующий вопрос - как прописать, чтобы: > 1. Макрос выполнялся автоматически при открытии Книга1 Для этого нужно перенести нужный макрос со всеми зависимостями(самописные функции и прозедуры вызываемые из нужного макроса) в файл "Книга1.xls" и поставить вызов нужного макрова в обработчик события Workbook_Open() в модуле книги. > 2. Чтобы оно не открывало окно для выбора bin-файла, а атоматически открывало файл test.bin. Для этого нужно прописать полный путь к файлу test.bin, и тогда можно выбросить первую строку Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2010, 18:04 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
Игорь Горбонос > Автор: lara-punk > У меня следующий вопрос - как прописать, чтобы: > 1. Макрос выполнялся автоматически при открытии Книга1 Для этого нужно перенести нужный макрос со всеми зависимостями(самописные функции и прозедуры вызываемые из нужного макроса) в файл "Книга1.xls" и поставить вызов нужного макрова в обработчик события Workbook_Open() в модуле книги. > 2. Чтобы оно не открывало окно для выбора bin-файла, а атоматически открывало файл test.bin. Для этого нужно прописать полный путь к файлу test.bin, и тогда можно выбросить первую строку эээ.... простите, а можно пожалуйста как-то по подробней. Я первый раз работаю с макросами, да и Экселем я тоже не часто пользуюсь. Что и куда прописывать и переносить? что такое модуль книги и обработчик событий? как его открыть? заранее большое спасибо!! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2010, 11:33 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
lara-punk[quot Игорь Горбонос] > Автор: lara-punk > У меня следующий вопрос - как прописать, чтобы: > 1. Макрос выполнялся автоматически при открытии Книга1 Для этого нужно перенести нужный макрос со всеми зависимостями(самописные функции и прозедуры вызываемые из нужного макроса) в файл "Книга1.xls" и поставить вызов нужного макрова в обработчик события Workbook_Open() в модуле книги. > 2. Чтобы оно не открывало окно для выбора bin-файла, а атоматически открывало файл test.bin. Для этого нужно прописать полный путь к файлу test.bin, и тогда можно выбросить первую строку так.. с 1 пунктом я вроде разобрался, все в порядке. А вот второй пока не догоняю, куда этот путь прописывать - просто вместо строки iFile = Application.GetOpenFilename("Binäre Dateien, *.bin", , "Datei öffnen") прописать свой путь?? не получается... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2010, 12:17 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
> Автор: lara-punk > так.. с 1 пунктом я вроде разобрался, все в порядке. Это хорошо, а то нет времени расписывать :) > А вот второй пока не догоняю, куда этот путь прописывать - просто вместо строки > iFile = Application.GetOpenFilename("Binare Dateien, *.bin", , "Datei offnen") Эта строка кода всего лишь показывает диалог выбора файла и по выбору файла передает в переменную iFile путь к выбранному файлу. Для того что-бы не показывать этот диалог, нужно просто прописать путь к файлу. Например iFile = "c:\folder_for_binary\test.bin" .Но это обязывает положить файл test.bin d папку folder_for_binary расположенную на диске С. И если файла не будет, произойдет ошибка. Поэтому я сделал бы так, вместо первой строки, вторая, похоже нужна для правильной работы макроса: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2010, 12:29 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
Игорь Горбонос > Автор: lara-punk > так.. с 1 пунктом я вроде разобрался, все в порядке. Это хорошо, а то нет времени расписывать :) > А вот второй пока не догоняю, куда этот путь прописывать - просто вместо строки > iFile = Application.GetOpenFilename("Binare Dateien, *.bin", , "Datei offnen") Эта строка кода всего лишь показывает диалог выбора файла и по выбору файла передает в переменную iFile путь к выбранному файлу. Для того что-бы не показывать этот диалог, нужно просто прописать путь к файлу. Например iFile = "c:\folder_for_binary\test.bin" .Но это обязывает положить файл test.bin d папку folder_for_binary расположенную на диске С. И если файла не будет, произойдет ошибка. Поэтому я сделал бы так, вместо первой строки, вторая, похоже нужна для правильной работы макроса: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
насчет окна - это понятно! я так и делал, прописывал iFile = "c:\folder_for_binary\test.bin" Вот только возникла не понятка. Когда я запускаю нужный файл через Application.GetOpenFilename все ОК - я получаю нужный результат. А когда я прописываю прямой путь, оно вроде работает, вот только в качестве результатов выводит все нули... и не могу понять почему. Может что-то подскажете?? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2010, 12:44 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
> Автор: lara-punk > выводит все нули... и не могу понять почему. Может что-то подскажете?? Без самого макроса и этого bin-файла уже ничего не подскажу. Замена первой строки на мой код никак не могда изменить что-то в работе макроса, поэтому мне кажется ты что-то "зацепил" случаянно и не заметил, поэтому и не работает. Выкладывай и оригинальный макрос и переделанный, посмотрю. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2010, 12:55 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
Игорь Горбонос > Автор: lara-punk > выводит все нули... и не могу понять почему. Может что-то подскажете?? Без самого макроса и этого bin-файла уже ничего не подскажу. Замена первой строки на мой код никак не могда изменить что-то в работе макроса, поэтому мне кажется ты что-то "зацепил" случаянно и не заметил, поэтому и не работает. Выкладывай и оригинальный макрос и переделанный, посмотрю. файл ведь один и тот же, я ведь просто добавил строку с путем, а предыдущую закоментировал. Так или иначе, если есть возможность, то взгляни! Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2010, 13:13 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40.
Вот так выглядит мой вариант рабочего макроса. Больше я ничего не менял. Файл test2.bin лежит c:\1_0\test2.bin. Все работает, создается новый лист, называется именем bin-файла и первые три столбца заполняется цифрами до 89 строки, потом до 101 строки идут нули Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2010, 14:33 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
Игорь Горбонос, ух, ну ты и зверь!!! то что надо!! громадное спасибо!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2010, 15:04 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
Очень нуждаюсь в помощи. У меня к сожелению не запускаеться Workbooks.Open ("C:\Gorokh\Report\RBNS\CalcRBNS01-01-10_31-03-11.XLS")-это работает Application.ScreenUpdating = False Application.Run "CalcRBNS01-01-10_31-03-10.XLS!Module1.Sortirovka_regest_2011_sluch_2011" -это не работает ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2011, 17:10 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
VikVikVikApplication.Run "CalcRBNS01-01-10_31-03-10.XLS!Module1.Sortirovka_regest_2011_sluch_2011" -это не работает Так сработает: Application.Run " ' CalcRBNS01-01-10_31-03-10.XLS ' !Module1.Sortirovka_regest_2011_sluch_2011" И так тоже: Application.Run " ' CalcRBNS01-01-10_31-03-10.XLS ' !Sortirovka_regest_2011_sluch_2011" ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2011, 03:17 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
Спасибо большое :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2011, 12:12 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
в Excel 2010 у меня не работает конструкция типа Код: vbnet 1.
1004 Не удается выполнить макрос ... Возможно этот макрос отсутствует в текущей книге либо все макросы отключены. Проверял настройки - макросы включены ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2012, 16:48 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
Сравните: vlth Код: vbnet 1.
ikosten Код: vbnet 1.
Если даже у вас Name - задекларирована как public , то всё же не мешало бы изучить систаксис вызова подпрограмм с параметрами (скобки... Call ... etc)... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2012, 19:25 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
AndreTM, Вообще вызов такой: Код: vbnet 1.
Код не мой и прекрасно работает в Excel 2003, а в 2010 валится с ошибкой, пытаюсь разобраться что не так... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2012, 10:41 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
ikosten, попробуйте вместо Funcs.xla подставить полный путь к книге. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2012, 12:47 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
скукотища, не помогло. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2012, 13:04 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
ikosten, номер и описание ошибки напиши ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2012, 21:34 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
VSVLAD, 1004 Не удается выполнить макрос ... Возможно этот макрос отсутствует в текущей книге либо все макросы отключены. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2012, 21:41 |
|
Запуск макроса в другом файле Excel
|
|||
---|---|---|---|
#18+
P.S. Проверил в Excel 2010. Например выполняю Код: vbnet 1.
То работает нормально если книга с функцией открыта в экземпляре с вызывающим кодом. Иначе, валится с ошибкой. Если указать полный путь, то книга аттачится к Excel'ю но функция опять валится с ошибкой, но стоит убрать и вызвать книгу только по имени - то всё ОК. Вывод: Надо проверить открыта ли сейчас книга с функциями, если нет, то открыть и уже потом сделать вызов. Также можно (если например книга с функциями всегда будет не подалёку) сделать ссылку на книгу через окно Tools -> References. Тогда книга автоматически будет открываться, так как она зависимой от другой книги стала. И вызвать можно будет как по полному пути, например так: Код: vbnet 1.
или так: Код: vbnet 1.
главное чтобы имена не пересекались ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2012, 21:46 |
|
|
start [/forum/topic.php?fid=60&fpage=78&tid=2157795]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 153ms |
0 / 0 |