всем привет! помогите решить такую проблему:
есть файл xls с дополнительным тулбаром, к ним приписан вызов макросов. Но в настройках кнопки тулбара видно, что помимо имени макроса Excel автоматически дописывает имя книги(файла) где этот макрос находится, например MyFile.xls!MyMacros. В результате когда файл переименовывается например в MyFileNew.xls, настройки пунктов меню не изменяются и макрос ищется все равно в файле MyFile.xls. Если этот файл удалить, будет ошибка. А дальше получается еще хуже - почему то потом при открытии файла MyFile.xls макрос ищется уже в MyFileNew.xls Нельзя ли как нибудь заставить Excel искать макрос в текущей книге, без указания имени файла?
перенос макросов
Модератор: Naeel Maqsudov
А если сохранять в личной книге макросов?
а при переносе файла xls на другой комп макросы ведь останутся в личной книге на первом компе?
- mc-black
- Сообщения: 250
- Зарегистрирован: 08 май 2008, 16:09
- Откуда: Россия, Нижний Новгород
- Контактная информация:
Если есть возможность, не переименовывайте файл в файл-менеджере, а пересохраните его открыв в Excel, т.е. из программы сохраните его под другим именем. Должно помочь, если не ошибаюсь...файл переименовывается например в MyFileNew.xls
На заказ: VBA, Excel mc-black@yandex.ru
- Aent
- Сообщения: 1129
- Зарегистрирован: 01 окт 2006, 14:52
- Откуда: Saratov,Russia
- Контактная информация:
Imho, наиболее правильный путь - динамическая линковка макросов с элементами управления из обработчика события открытия рабочей книги. Причём с тулбарами сейчас надо быть очень осторожным если предполагается отчуждение файла.
В Excel 2007 вместо баров - ленты со всеми вытекающими последствиями ...
Поэтому или обрабатывать верию Excel , или внедрять эленменты управления непосредственно в рабочий лист или форму, отображаемую скажем при клике
в определённой области.
В Excel 2007 вместо баров - ленты со всеми вытекающими последствиями ...
Поэтому или обрабатывать верию Excel , или внедрять эленменты управления непосредственно в рабочий лист или форму, отображаемую скажем при клике
в определённой области.
Андрей Энтелис,
aentelis.livejournal.com
aentelis.livejournal.com
Да, такой подход кажется мне самым подходящим. А можно ли динамически связать макрос с кнопкой тулбара(или иным элементом управления)? Я делал только через меню настроекAent писал(а):Imho, наиболее правильный путь - динамическая линковка макросов с элементами управления из обработчика события открытия рабочей книги. Причём с тулбарами сейчас надо быть очень осторожным если предполагается отчуждение файла.
В Excel 2007 вместо баров - ленты со всеми вытекающими последствиями ...
Поэтому или обрабатывать верию Excel , или внедрять эленменты управления непосредственно в рабочий лист или форму, отображаемую скажем при клике
в определённой области.
- Aent
- Сообщения: 1129
- Зарегистрирован: 01 окт 2006, 14:52
- Откуда: Saratov,Russia
- Контактная информация:
Странный вопрос. Было бы нельзя не писал бы..можно ли динамически связать макрос с кнопкой тулбара(или иным элементом управления)?
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
Андрей Энтелис,
aentelis.livejournal.com
aentelis.livejournal.com