Страница 1 из 1
перенос макросов
Добавлено: 22 апр 2009, 11:59
andrewp
всем привет! помогите решить такую проблему:
есть файл xls с дополнительным тулбаром, к ним приписан вызов макросов. Но в настройках кнопки тулбара видно, что помимо имени макроса Excel автоматически дописывает имя книги(файла) где этот макрос находится, например MyFile.xls!MyMacros. В результате когда файл переименовывается например в MyFileNew.xls, настройки пунктов меню не изменяются и макрос ищется все равно в файле MyFile.xls. Если этот файл удалить, будет ошибка. А дальше получается еще хуже - почему то потом при открытии файла MyFile.xls макрос ищется уже в MyFileNew.xls Нельзя ли как нибудь заставить Excel искать макрос в текущей книге, без указания имени файла?
Re: перенос макросов
Добавлено: 22 апр 2009, 13:16
aks_sv
А если сохранять в личной книге макросов?
Re: перенос макросов
Добавлено: 22 апр 2009, 13:31
andrewp
а при переносе файла xls на другой комп макросы ведь останутся в личной книге на первом компе?
Re: перенос макросов
Добавлено: 22 апр 2009, 13:39
mc-black
файл переименовывается например в MyFileNew.xls
Если есть возможность, не переименовывайте файл в файл-менеджере, а пересохраните его открыв в Excel, т.е. из программы сохраните его под другим именем. Должно помочь, если не ошибаюсь...
Re: перенос макросов
Добавлено: 22 апр 2009, 19:58
Aent
Imho, наиболее правильный путь - динамическая линковка макросов с элементами управления из обработчика события открытия рабочей книги. Причём с тулбарами сейчас надо быть очень осторожным если предполагается отчуждение файла.
В Excel 2007 вместо баров - ленты со всеми вытекающими последствиями ...
Поэтому или обрабатывать верию Excel , или внедрять эленменты управления непосредственно в рабочий лист или форму, отображаемую скажем при клике
в определённой области.
Re: перенос макросов
Добавлено: 23 апр 2009, 10:20
andrewp
Aent писал(а):Imho, наиболее правильный путь - динамическая линковка макросов с элементами управления из обработчика события открытия рабочей книги. Причём с тулбарами сейчас надо быть очень осторожным если предполагается отчуждение файла.
В Excel 2007 вместо баров - ленты со всеми вытекающими последствиями ...
Поэтому или обрабатывать верию Excel , или внедрять эленменты управления непосредственно в рабочий лист или форму, отображаемую скажем при клике
в определённой области.
Да, такой подход кажется мне самым подходящим. А можно ли динамически связать макрос с кнопкой тулбара(или иным элементом управления)? Я делал только через меню настроек
Re: перенос макросов
Добавлено: 23 апр 2009, 13:59
Aent
можно ли динамически связать макрос с кнопкой тулбара(или иным элементом управления)?
Странный вопрос. Было бы нельзя не писал бы..
Cм. HELP по property .OnAction для объектов
СommandBarButton, CommandBarComboBoх, CommandBarControl и CommandBarPopUp для
MS OFFICE VBA.
Cм. так же:
http://www.cpearson.com/excel/menus.htm
http://www.cpearson.com/excel/CreatingCOMAddIn.aspxhttp://forum.developing.ru/ms-help://MS ... 075310.htmhttp://forum.developing.ru/ms-help://MS ... 075366.htm