Программно внедрять макросы?

Программирование на Visual Basic for Applications
FINAL
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 14.12.2005 (Ср) 19:02
Откуда: Казань

Программно внедрять макросы?

Сообщение FINAL » 30.01.2006 (Пн) 18:12

Word, если я сохраняю макросы не в шаблоне, держит код VBA внутри документа. Вопрос такой: могу ли я в макросом создавать другие макросы. Например, есть макрос, который добавляет кнопку (CommandButton) в документ, я хочу чтобы пользователю не надо было программировать ее обработчик, т.к. все кнопки выполняют однотипные действия. Возможно ли это? Ведь Word работает с текстом, а код - это тоже текст, просто непонятно, где он лежит.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 30.01.2006 (Пн) 18:16

Где ты его пишешь, там он и лежит...

Ссылку на Visual Basic for Applications Extencibility поставь.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

FINAL
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 14.12.2005 (Ср) 19:02
Откуда: Казань

Сообщение FINAL » 30.01.2006 (Пн) 18:29

так, поставил, буду разбираться, спасибо.
GSerg писал(а):Где ты его пишешь, там он и лежит...

а где я его пишу? Если я правильно понял - это ветки моего Project:
ThisDocument, Module1 и т.п.?
И каков вердикт - можно ли программно вносить изменения в код?

FINAL
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 14.12.2005 (Ср) 19:02
Откуда: Казань

Сообщение FINAL » 15.02.2006 (Ср) 16:18

Макросы при создании документа на основе шаблона остаются в шаблоне. Как сделать так, чтобы определенные макросы внедрялись в создаваемый документ? Ведь все подготовительные действия я уже сделал в Document_New() и теперь мне нужно, чтобы в моих документах работали макросы вроде AutoOpen() или Document_Open(), Document_Close() и др. Как я уже убедился, можно с успехом создавать макросы программно и все сделать в Document_New(), но их очень много и, возможно, есть более простой способ, о котором я не знаю. Подскажите, пожалуйста.

FINAL
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 14.12.2005 (Ср) 19:02
Откуда: Казань

Сообщение FINAL » 15.02.2006 (Ср) 16:32

может быть, подойдет вариант с импортом экспортированного модуля? (честно говоря не представляю, как это сделать). Кроме всего прочего в моих файлах должны быть формы, которые работают с этими документами и было бы здорово создавать сразу же при создании документа

FINAL
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 14.12.2005 (Ср) 19:02
Откуда: Казань

Сообщение FINAL » 15.02.2006 (Ср) 17:48

большое спасибо за молчание!
Попробую поменять все ThisDocument на ActiveDocument при работе со всевозможными CustomDocumentProperties и Variables, и запоминать там, где надо myDoc As Document, если будут переходы в другие доки и приложения


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 84

    TopList  
cron