![]() |
|
Модераторы: mihanik |
![]()
|
|
| Гость_lana |
|
|||
|
Unregistered |
есть макрос, который я назначила пункту меню.
как сделать так, чтобы мой макрос срабатывал для этого пункта меню на любом другом компьютере где запускается созданный мной excel файл (этот икселевский файл у меня создается в результате приложения написанного на java). |
|||
|
||||
| likhobory |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 10 Всего: 20 |
при открытии файла присваивай программно макрос пункту меню
|
|||
|
||||
| Guest |
|
|||
|
Unregistered |
хх - это название пункта меню?
а что такое yy? Получается что код моего макроса нужно все время перетаскивать на другой компьютер? а код макроса можно хранить в текстовом файле? |
|||
|
||||
| likhobory |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 10 Всего: 20 |
хх - переменные, подставляй реальный № (имя) элемента
например, назначаешь макрос пункту меню "файл->закрыть"
код макроса держишь в соотв. модуле документа/шаблона/надстройки Это сообщение отредактировал(а) likhobory - 21.6.2005, 15:40 |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
спасибо. теперь программно макрос присваивается пункту меню.
но мне почему то еще не особо ясно, где я возьму эти макросы на другом компе |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
Их засовываешь в сам xls-файл.
|
|||
|
||||
| likhobory |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 10 Всего: 20 |
в этом же модуле, где расположен Sub Auto_Open, можешь хранить и макрос Это сообщение отредактировал(а) likhobory - 21.6.2005, 20:25 |
|||
|
||||
| Гость_lana |
|
|||
|
Unregistered |
в какой файл? тот, что лежит в личной книге макросов или в конкретный файл, который у меня создается? и где вообще хранится модуль, в котором лежат макросы? |
|||
|
||||
| likhobory |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 10 Всего: 20 |
а где ж ты прописывала код CommandBars.ActiveMenuBar.Controls(1)... ????????????? |
||||
|
|||||
| Гость_lana |
|
|||
|
Unregistered |
ну правильно, там я его и прописала, в редакторе visual Basic создала модуль и т.д.
а возможны еще какие то варианты написания макросов? я это спрашиваю потому, что я не совсем понимаю как я буду создавать этот модуль программно из своего приложения, написанного на java. И что означает написать макрос в шаблоне? |
|||
|
||||
| likhobory |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 10 Всего: 20 |
Возможные варианты:
1. экспортируй код из bas-файла Допустим, есть текстовый файл "c:\1.bas" с содержимым:
тогда в коде своего приложения пропиши
2. Создавай модуля "с нуля"
только Application замени на свою объекную переменую Это сообщение отредактировал(а) likhobory - 22.6.2005, 15:29 |
||||||
|
|||||||
| Гость_lana |
|
|||
|
Unregistered |
спасибо большое за объяснения.
теперь я привязываю свои макросы к конкретному файлу. только вот при открытии данного файла постоянно срабатывает система безопасности. какие есть методы борьбы с этим? чтобы система не ругалась на мои макросы и пользователь даже не подозревал, что они есть? |
|||
|
||||
| likhobory |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 10 Всего: 20 |
на время работы Excel-приложения меняй значения реестра
для officeXP [HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Security] "Level"=dword:00000001 для office2003 - .....\Office\11.0\Excel............. для office2000 - .....\Office\Excel............. |
|||
|
||||
| Гость_lana |
|
|||
|
Unregistered |
по ходу у меня возникли еще вопросы
мои макросы должны срабатывать только один раз, когда создается иксел файл. если это файл сохранить под другим названием, то макросы остаются, а этого мне как раз не надо. Как можно убить эти макросы при закрытии начального файла? И если их убить, то пункт меню, для которого писался макрос, не будет работать. Как вернуть этому пункту меню его начальное действие? |
|||
|
||||
| likhobory |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 10 Всего: 20 |
недопонял, зачем присваивать кнопке макрос, который никогда не будет использоваться ??
если надо изменить некие параметы создаваемого EXCEL-файла (в т.ч. и св-ва пунктов меню), то делай это сразу из родительского приложения |
|||
|
||||
![]()
|
| Правила форума "Программирование, связанное с MS Office" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |