(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Макрос для удаления другого макроса

Источник: wordexpert
Антон Кокин

В файле Стандартный.doc с образцом текста есть макрос AutoOpen, предлагающий сохранить файл с другим именем. Существует ли возможность автоматического программного удаления макроса при сохранении файла с другим именем? Версия - Word XP.

Вот конкретный макрос, который удалит ваш макрос AutoOpen из конкретного модуля Module1 конкретного проекта Normal (конкретность необходима, чтобы точно указать удаляемый макрос):

Sub removeModule()
'Удаление конкретного макроса при сохранении документа под другим именем
Dim aMdl As Variant
Dim aPrj As Variant
Dim lLin As Long
Dim lLin2Del As Long
Dim strSub2Del As String
Dim oDlg As Dialog
Set oDlg = Dialogs(wdDialogFileSaveAs)
On Error Resume Next
'Открываем окно "Сохранить как"
oDlg.Show
'Вводим имя макроса
strSub2Del = "AutoOpen"
'Присваиваем переменной имя конкретного проекта (в данном случае это проект "Normal")
Set aPrj = Application.VBE.VBProjects("Normal")
'Присваиваем переменной имя конкретного модуля, содержащего удаляемый макрос (например, "Module1")
Set aMdl = aPrj.VBComponents("Module1")
'Процедура удаления макроса из кода модуля
With aMdl.CodeModule
   'метод ProcBodyLine возвращает первую строку конкретной процедуры как номер строки (число) _
   (например, строка Sub может находиться на 3-й строке в модуле, значит возвращено будет 3)
   iLin = .ProcBodyLine(strSub2Del, vbext_pk_Proc)
   'метод ProcCountLines возвращает количество строк в конкретной процедуре
   iLin2Del = .ProcCountLines(strSub2Del, vbext_pk_Proc)
   'собственно удаление строк кода макроса
   .DeleteLines iLin, iLin2Del - 1
End With
End Sub

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 07.10.2009 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Office 365 Бизнес. Подписка на 1 рабочее место на 1 год
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
Microsoft Office 365 Профессиональный Плюс. Подписка на 1 рабочее место на 1 год
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год.
Microsoft Office для дома и учебы 2019 (лицензия ESD)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Компьютерный дизайн - Все графические редакторы
ЕRP-Форум. Творческие дискуссии о системах автоматизации
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100