Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2011, 12:26   #1
caute
Форумчанин
 
Регистрация: 27.10.2009
Сообщений: 277
По умолчанию удаление внедренных в документ макросов

можно ли написать макрос, который удалял бы все макросы, внедренные в открытый в данный момент файл doc? (т.е. очищал бы секцию Microsoft Word Objects > ThisDocument)
caute вне форума Ответить с цитированием
Старый 21.12.2011, 12:57   #2
Пименов Александр
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 222
По умолчанию

Можно конечно.
Смотря для чего вам это нужно.
Обычно расширение .doc открывается или создается на основе какого-то Шаблона и его модуль ThisDocument обычно чист, так что придется чистить ThisDocument Шаблона, что нежелательно.
Ну а если уже в процессе работы создавались макросы именно на основе Документа или Изменялся модуль ThisDocument или вставлялись другие Модули или Классы, то не вопрос....
Пименов Александр вне форума Ответить с цитированием
Старый 21.12.2011, 13:13   #3
caute
Форумчанин
 
Регистрация: 27.10.2009
Сообщений: 277
По умолчанию

да, я часто вставляю в ThisDocument макрос, который нужен в ходе работы над доком, а по завершении работы хотелось бы этот макрос удалить одним кликом, не рыская по веткам в VB
caute вне форума Ответить с цитированием
Старый 21.12.2011, 13:46   #4
Пименов Александр
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 222
По умолчанию

Прежде всего в шаблоне Normal подключите объект Microsoft Visual Basic for Applications Extensibility 5.3 в Меню выберете Tools-->References
Затем Создайте новый модуль в Шаблоне Normal или вставьте в модуль ThisDocument макрос:
Код:
Public Sub ThisDocumentClear()
Dim DocProject As VBProject
Dim CodeModule As CodeModule
    Set DocProject = ActiveDocument.VBProject
    Set CodeModule = DocProject.VBComponents("ThisDocument").CodeModule
    CodeModule.DeleteLines 1, CodeModule.CountOfLines
End Sub
Присвойте макросу кнопку на панели инструментов.
Данный макрос очищает Модуль ThisDocument Активного Документа
Пименов Александр вне форума Ответить с цитированием
Старый 21.12.2011, 14:13   #5
caute
Форумчанин
 
Регистрация: 27.10.2009
Сообщений: 277
По умолчанию

работает в лучшем виде, большущее спасибо!
caute вне форума Ответить с цитированием
Старый 21.12.2011, 14:14   #6
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

Код:
сама не пробовала,но

-сначала сохранить в формате RTF, который не хранит макросы
-затем в формате DOC
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 21.12.2011, 14:24   #7
Пименов Александр
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 222
По умолчанию

Цитата:
Сообщение от caute Посмотреть сообщение
работает в лучшем виде, большущее спасибо!
Рад, что Вам помогло, вообще через объект Microsoft Visual Basic for Applications Extensibility 5.3 можно программно не только удалять весь текст Модулей, но и отдельных процедур, а также добавлять и удалять модули, классы, формы и т.д.
Пименов Александр вне форума Ответить с цитированием
Старый 21.12.2011, 17:28   #8
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

>также добавлять модули, классы, формы и т.д.
подскажите пожалуйста код
Ципихович Эндрю вне форума Ответить с цитированием
Старый 21.12.2011, 17:37   #9
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

подключить библиотеку Microsoft Visual Basic for Applications Extensibility 5.3
что-то не нашёл, как она дословно называется?
Ципихович Эндрю вне форума Ответить с цитированием
Старый 21.12.2011, 18:10   #10
caute
Форумчанин
 
Регистрация: 27.10.2009
Сообщений: 277
По умолчанию



прилагается
Вложения
Тип файла: rar VBE6EXT.rar (10.9 Кб, 20 просмотров)

Последний раз редактировалось caute; 21.12.2011 в 18:35. Причина: добавил файлик
caute вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объединение макросов Pilot Microsoft Office Excel 13 31.08.2010 18:05
Автозапуск макросов blacklight Microsoft Office Excel 2 01.10.2009 13:33
Создание макросов Женечка2607 Microsoft Office Excel 3 23.04.2009 21:17
Автоматический запуск макросов с листа на котором указан перечень макросов с параметрами и без Neoli Microsoft Office Excel 2 09.03.2009 14:31
Сравнение макросов valerij Microsoft Office Excel 24 09.06.2008 00:57