|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
Добрый день Подскажите пож. есть ли способ программно из одной книги эксель удалять и добавлять макросы в другой? Например есть Книга1 в которой хранится исходный код, код постоянно дорабатывается. Можно ли этот доработанный код из Книги1 перекинуть в Книгу2,3,4....n (или как-нить програмно заменить предыдущие версии кода на новый)? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2013, 18:15 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
Юра613, можно, примеры кода на форуме были. Попробуйте поискать по таким ключевым словам как "VBProjects." или "Доверять доступ к Visual Basic Project". ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2013, 12:15 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
Чтобы таких проблем не возникало лучше написать add-in. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2013, 00:32 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
lbppb , да но add-in же все равно надо будет заменять во всех файлах. по трудозатратам тоже самое что заходить в каждый файл и и заменять макрос. В коллективе одни барышни работают, я не могу их просить самостоятельно заменять надстройки, иначе встречу шквал воплей ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2013, 12:06 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
Юра613 lbppb , да но add-in же все равно надо будет заменять во всех файлах. по трудозатратам тоже самое что заходить в каждый файл и и заменять макрос. В коллективе одни барышни работают, я не могу их просить самостоятельно заменять надстройки, иначе встречу шквал воплей Нет, не все равно. Основную часть кода вы пишите в add-in, которым пользуются все ваши файлы-барышни. А add-in он один!))) и лежит в папке %appdata%\Microsoft\AddIns. Если какой код и требуется в отдельно взятых файлых так это events, которые можно написать (изменить через add-in при помощи VBE) один раз и которые будут так же использовать основной код из add-in. Все, что останется, так это при каждом обновлении копировать файл в нужное место. А нужное место при желании можно изменить в реестре. В общем add-in это спасение вашей души. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2013, 12:28 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
lbppb, уточню т.е. я могу выложить файл-надстройку в какую-нить общую сетевую папку, и привязать эту надстройку ко всем нужным мне файлам. В случае изменений заменять эту надстройку в одном месте и все, так? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2013, 14:01 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
lbppb, уточню т.е. я могу выложить файл-надстройку в какую-нить общую сетевую папку, и привязать эту надстройку ко всем нужным мне файлам. В случае изменений заменять эту надстройку в одном месте и все, так? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2013, 15:42 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
В общем сам проверил. Можно выложить в общий доступ и прикрутить ко всем нужным файлам надстройку, а потом редактировать ее. Спасибо всем за помощь ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2013, 16:17 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
Имеется файл «Книга.xls». В нем есть лист «Лист1». На этом листе есть кнопка, которая запускает макрос «Макрос1», обрабатывающий данный на этом листе. Макрос находится в модуле Module1. «Лист1» копирую в файл «Книга2.xls». В Excel2003 при нажатии кнопки, расположенной на «Лист1» в «Книга2.xls», все работает нормально, т.е c листа «Лист1» в «Книга2.xls» вызывается макрос из модуля файла «Книга1.xls». В Excel2007 при нажатии этой кнопки появляется сообщение «…не могу найти макрос Книга2.xls[module1][Макрос1] …», т.е. Excel ищет этот макрос в модуле файла «Книга2.xls». Файл «Книга1.xls», в котором находится «Макрос1», в обоих случаях открыт. Как в Excel2007 кнопкой запустить из файла «Книга2» макрос, находящийся в файле «Книга1.xls»? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2013, 16:16 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
ИВП, Только через Application.Run В Книга2.xls пишите только код вызова: Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2013, 16:37 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
The_Prist Только через Application.Run В Книга2.xls пишите только код вызова: Sub RunFromAnotherWb() Application.Run "'Книга1.xls'!ИмяМакроса" End Sub Но в удобном Excel2003 в отличие от модного Exce2007 этого делать не требуется!!!! Файлов вида "Книга2" очень много, и для каждого требуется использовать макрос из "Книга1". Если залезать (или залазать?) в каждый файл "Книга2" для вставки Вашего кода, то проще туда засунуть макрос из "Книга1" ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2013, 17:00 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
ИВПв удобном Excel2003 в отличие от модного Exce2007 этого делать не требуется! Да что Вы говорите! По Вашему в 2003 живёт маленький волшебник, который читает Ваши мысли и сам запускает нужные макросы? ИВПФайлов вида "Книга2" очень много, и для каждого требуется использовать макрос из "Книга1"Макрос из "Книга1" поместите в Personal (или в надстройку), тогда он будет доступен в любом файле Excel ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2013, 17:26 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
Как я понимаю, у каждого пользователя есть свои рабочие файлы, с которыми что-то делается макросом, а в самом файле с нужным макросом пользователи ничего не меняют. Если уж есть общая папка, то можно поступить вообще топорно: расположить ней сам файл с макросом с общим доступом. Но чтоб макрос срабатывал только из книги в общей папке, в файле надо добавить макрос на открытие файла. Что-то типа: Код: vbnet 1. 2. 3. 4. 5.
Ну и свой файл с меняющимся макросом по необходимости копировать в общую папку с заменой старого варианта и открытием общего доступа. Данный вариант лучше надстройки тем, что при появлении нового пользователя у самого него ничего в настройках делать не надо. Лишь был доступ к общей папке и разрешены макросы. Во всяком случае, я так и сделал. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2013, 17:36 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
авторДа что Вы говорите! По Вашему в 2003 живёт маленький волшебник, который читает Ваши мысли и сам запускает нужные макросы? Не сам, а при нажатии в первом файле на кнопку , к который "прикреплен" макрос из второго файла. Более того, только что сходил к соседям на 2007 - тоже все ОК. Значит, не получается в 2010!!!! (визуально модные ексели я не различаю, поэтому подумал на 2007). авторМакрос из "Книга1" поместите в Personal (или в надстройку), тогда он будет доступен в любом файле Excel Это надо сделать на всех компьютерах? Не подходит (((( авторЕсли уж есть общая папка, Общей папки нет, т.к. сети нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2013, 17:46 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
ИВП, Лирическое отступление, начиная с 2007 офиса файлы с макросами имеют расширение .xlsm Мелкомягкие не дают 100% гарантии на совместимость версий, именно по этой причине кодами должны заниматься люди, различающие версии офиса, винды, ну и за одно 32/64 битность, ибо все это имеет значение. ИМХО, пути решения вам предложили. Если нет сети, то полагаю, что с каждым случаем можно разобраться вручную. Ну или если горазды, то можно написать установочник, который скопирует куда надо, например, add-in с нужными макросами и разослать каждому юзверю. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2013, 21:25 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
авторкодами должны заниматься люди, различающие версии офиса, винды, ну и за одно 32/64 битность В рассматриваемом случае компьютеров у пользователя может быть много (на работе, дома, ноутбук). Где он будет работать - его личное дело. Какие там Офисы установлены - неизвестно. Все пользователи получают исходный файл в Ексел 2003, из которого у себя с использованием встроенных в него макросов формируют 15-20 "копий" с различными наборами данных. К сожалению, после того, как они эти файлы уже сформировали, выяснилось, что надо кое-что в них доработать. Для этого им разослан файл с дополнительными макросами. Как уже сказал ранее, в 2003 и 2007 - все ОК. Там где не получилось - наверное, 2010 (посмотрю завтра). Про add-in - будем посмотреть ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2013, 22:00 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
ИВП., А вот если бы вы были нормальным разработчиком - такого бы не было. Поскольку данные и код можно (нужно) размещать в разных местах. Для чего вам, граждане, xlsx и xlsm разделили? Да и сейчас ничего сложного (для понимающего) нет - надо просто написать файл так, чтобы он мог импортировать предыдущие данные, а не встраиваться в разношерстные предыдущие копии... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2013, 23:36 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
Нормальному разработчику от не нормального. AndreTMчтобы он мог импортировать предыдущие данные, а не встраиваться в разношерстные предыдущие копии... Над этим сейчас и работаем. AndreTMДля чего вам, граждане, xlsx и xlsm разделили? Разделили где? В гламурном Ёкселе 2007? Указывал выше, что всё сделано в Ёкселе 2003 Не в тему, но ЗАОДНО уж подскажите ненормальному противнику риббонов: как клавишами вызвать в Ёкселе2007, 2010 "Поиск решения" (аналогично тому, как это сделано в Ёкселе 2003: Alt+Е, Р)? Очень надо, буду весьма признателен. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2013, 00:07 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
ИВП., Хм-м... тоже не в тему... В негламурном 2003 что-то никто на Alt+E не реагирует... Возможно, потому, что надстройка "Поиск решения" дефолтно не устанавливается... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2013, 08:29 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
AndreTMВ негламурном 2003 что-то никто на Alt+E не реагирует... За всех говорить не надо. Кто это "никто"? Нормальные разработчики? На Alt+Е реагирует не "никто", а Ёксел - это вызов меню Сервис. Речь идет о случае, когда "Поиск решения" установлен. Надо постоянно менять данные в таблице и снова запускать задачу на решение. Данные, естественно, изменяются клавишами. Чтобы не хвататься при этом каждый раз за мыша, в Ексель 2003: Alt+Е (меню С е рвис), Р (меню Поиск р ешения), Enter (Выполнить). В 2007 - исправлены данные, бросаешь клавиатуру, хватаешь мыша, тычешь в кнопку, опять хватаешь клавиатуру и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2013, 10:17 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
Один из способов разделения кода и данных (см. совет AndreTM) для любой версии Excel приведен здесь: Алё, макрос позовите! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2013, 11:01 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
ИВП.в Ексель 2003: Alt+Е (меню С е рвис), Р (меню Поиск р ешения), Enter (Выполнить).А если у меня немецкий Excel? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2013, 13:25 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
ИВП.В рассматриваемом случае компьютеров у пользователя может быть много (на работе, дома, ноутбук). Где он будет работать - его личное дело. Какие там Офисы установлены - неизвестно. На счет разнесения данных и кодов вам уже написали. А вот по поводу разных компьютеров, версий и т.п. Это вы еще не сталкивались, когда код ведет себя по-разному или вовсе не работает на разных версиях офиса, винды или битности и тех и других. У вас пока что так, проблемка с внешним функционалом, точнее я бы сказал недовольство. Так вот, возвращаясь к теме знающих людей. Использование разных версий всего вышеупомянутого крайне нежелательно, ибо иначе нужно писать код поддерживающий все возможные варианты. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2013, 14:57 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
AndreTMА если у меня немецкий Excel? В немецком Ёхкселе делается так: Alt+НЕМЕЦКАЯ_буква_подчеркнутая_В_НЕМЕЦКОМ_слове_ Сервис ; далее НЕМЕЦКАЯ_буква_подчеркнутая_В_НЕМЕЦКИХ_словах_ ПоискРешения В Испанском Ёхкселе делается так: Alt+ИСПАНСКАЯ_буква_подчеркнутая_В_ИСПАНСКОМ_слове_ Сервис ; далее ИСПАНСКАЯ_буква_подчеркнутая_В_ИСПАНСКИХ_словах_ ПоискРешения В Итальянском Ёхкселе .... Во французском Ёкселе... - аналогично. А как в гламурном Ёкселе нажать кнопку "Поиск решения" без мыша (хоть в немецком, хоть в русском, хоть в итальянском)? Или у нормальных разработчиков в меню нет горячих клавиш? lbppbиначе нужно писать код поддерживающий все возможные варианты. Это даже НЕзнающему Ненормальному разработчику понятно ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2013, 17:44 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
ИВП.Речь идет о случае, когда "Поиск решения" установлен. Надо постоянно менять данные в таблице и снова запускать задачу на решение. Данные, естественно, изменяются клавишами. Чтобы не хвататься при этом каждый раз за мыша, в Ексель 2003: Alt+Е (меню С е рвис), Р (меню Поиск р ешения), Enter (Выполнить). В 2007 - исправлены данные, бросаешь клавиатуру, хватаешь мыша, тычешь в кнопку, опять хватаешь клавиатуру и т.д.ИВП.А как в гламурном Ёкселе нажать кнопку "Поиск решения" без мыша (хоть в немецком, хоть в русском, хоть в итальянском)? Кому надо - вообще не вызывают окно "Поиска решения"... http://www.sql.ru/forum/actualthread.aspx?tid=479282 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2013, 18:48 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
ИВП.Это даже НЕзнающему Ненормальному разработчику понятно Ну вот видите, а теперь это не только НЕзнающему НЕнормальному разработчику понятно, но и даже вам. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2013, 18:52 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
ИВП., Да, кстати - не поленился порыться - можете подцепить макрос и на открытие окна: Код: vbnet 1. 2. 3.
А вы всё "клавиатура, клавиатура"... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2013, 18:59 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
Уважаемый НОРМАЛЬНЫЙ разработчик! Вопрос звучал так как ...нажать кнопку "Поиск решения" без мыша Вы дали очень достойный ответавторКому надо - вообще не вызывают окно "Поиска решения" Теперь представьте ситуацию. За компьютерами сидят 12-15 студентов, у каждого из которых на экран выведена модель задачи, которую надо решить. Гнусный препод должен подойти к каждому студенту, что-то поправить в модели, и решить еще раз. Он наклоняется к компу, что-то правит в таблице, хватается за мышь, тычет в кнопку "Поиск решения", промахивается и т.д. В нормальном Ёкселе с нормальным меню – производятся изменения в модели, далее – Аlt+Е, Р, Enter. Опять изменения, опять Аlt+Е, Р, Enter.и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2013, 21:49 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
авторНу вот видите, а теперь это не только НЕзнающему НЕнормальному разработчику понятно, но и даже вам. Даже мне - я и есть "НЕзнающий НЕнормальный разработчик" Пока писал ответ, пришло Ваше сообщение про возможность подцепления макроса на открытия окна. Конечно, это очень классно (для НОРМАЛЬНО-ГО разработчика). Теперь посмотрите на ситуацию, описанную выше. «Коллеги, вместо того, чтобы анализировать результаты решения нашей задачи из предметной области, давайте нажмем Alt+А11, подцепим макрос на открытие окна, найдем нужный модуль и в его содержание вставим строки…» ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2013, 22:11 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
ИВП.авторНу вот видите, а теперь это не только НЕзнающему НЕнормальному разработчику понятно, но и даже вам. Даже мне - я и есть "НЕзнающий НЕнормальный разработчик" Пока писал ответ, пришло Ваше сообщение про возможность подцепления макроса на открытия окна. Конечно, это очень классно (для НОРМАЛЬНО-ГО разработчика). Теперь посмотрите на ситуацию, описанную выше. «Коллеги, вместо того, чтобы анализировать результаты решения нашей задачи из предметной области, давайте нажмем Alt+А11, подцепим макрос на открытие окна, найдем нужный модуль и в его содержание вставим строки…» Ах, это вы и есть. Не узнал без грима. Мое сообщение? За слова нужно отвечать. Процитириуйте. А то я что-то вас совсем узнавать перестал. На сколько мне известно в Excel никогда нельзя было самому задавать сочетания клавиш, кроме как програмно. Раз уж вам именно это нужно было знать, то Solver вам придется вызывать мышкой. Как вариант напишите мелкомягким ваши претензии. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2013, 00:36 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
ИВП., Уважаемый неразработчик... Я дал целых два ответа на ваш первоначальный вопрос: - первый ответ подразумевал. что "Поиск решения" вызывается вообще без интерфейса, например, при внесении изменений - сразу (или по условию/таймеру/...) начинается пересчёт; либо как в п.2, но без постоянного повторного внесения исходных данных - второй ответ подразумевал, что вместо задействования определенного интерфейса локализации - используется вызов с помощью какого либо средства, запрограммированного вами: собственная кнопочка, свой пункт меню, собственный pop-up, собственное клавиатурное сокращение ... Причём, использование любого из этих подходов позволяет не обращать внимания на версию или локализацию Офиса, реализовать одновременно несколько вариантов для запуска пересчета, ... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2013, 01:19 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
lbppbНасколько мне известно в Excel никогда нельзя было самому задавать сочетания клавиш, кроме как програмно.Не надо так категорично - можно и програмно, и даже на уровне простого юзера: сначала включить запись макроса и задать сочетание, затем начать и остановить запись, затем вставить в этот макрос весь код|ссылку на вызов SOLVER... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2013, 01:28 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
AndreTMlbppbНасколько мне известно в Excel никогда нельзя было самому задавать сочетания клавиш, кроме как програмно.Не надо так категорично - можно и програмно, и даже на уровне простого юзера: сначала включить запись макроса и задать сочетание, затем начать и остановить запись, затем вставить в этот макрос весь код|ссылку на вызов SOLVER... Согласен, погорячился...но речь идет о юзере, а у нас тут не совсем нормальный НЕнормальный НЕпрограммист, что ин май хамбл опинион, существенно осложняет ампутацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2013, 02:49 |
|
Можно ли в Excel управлять Макросами из одного файла в другом?
|
|||
---|---|---|---|
#18+
lbppb Мое сообщение? За слова нужно отвечать. Виноват, ошибся, действительно то сообщение прислали не Вы. А вот это уже хамите Вы: lbppbне совсем нормальный НЕнормальный НЕпрограммист Объясняю еще раз. "Поиск решения" требуется вызвать клавишами во время проведения занятий с 20-ю студентами. При этом требуется анализировать результаты многократного решения задачи в предметной области, а не программировать ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2013, 11:48 |
|
|
start [/forum/topic.php?all=1&fid=61&tid=2174890]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 146ms |
0 / 0 |