Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/22: Рейтинг темы: голосов - 22, средняя оценка - 4.73
allen

Удаление макроса при сохранении .doc файла

29.10.2009, 14:35. Показов 4516. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите кто знает.
У меня есть мой документ(.doc) с встроенной в него программой на vba.
Сам документ довольно большой, а там еше это программа.
Клиентам он доступен только для просмотра.
Надо сделать чтобы после выполнения программы, документ сохранялся по другим именем без программного кода, то есть просто документ.
Другими словами надо удалить макрос.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.10.2009, 14:35
Ответы с готовыми решениями:

Автозапуск макроса при сохранении файла
Доброго всем дня! Есть макрос, который при попытке его сохранить, проверяет, были ли внесены изменения в файл excel, и если они были...

Теряется ли что-нибуть при сохранении файла формата .rtf в .doc?
Moget razmetka ili risunki, naprimer. Saranie spasibo.

Потеря прозрачности при сохранении PNG из DOC
столкнулась с такой же проблемой, только у меня при считывании с doc в png.При просмотре через стандартный просмоторщик Windows текст...

5
0 / 0 / 0
Регистрация: 31.01.2008
Сообщений: 72
09.11.2009, 14:51
Я сам долго искал - EXCEL это будет так:
Debug.Print Application.VBE.ActiveVBProject.VBCompon ents(5).Name
' проверку надо сделать циклом по коллекции, там в коллекции чего только нет (книга, листы, модули, формы...)

' / а это само удаление, и даже удаляет сам себя!!!
Application.VBE.ActiveVBProject.VBCompon ents.Remove Application.VBE.ActiveVBProject.VBCompon ents(5)

Я думаю в Word-е аналогично
0
0 / 0 / 0
Регистрация: 18.10.2009
Сообщений: 8
11.11.2009, 18:31
Пожалуйста поподробне с примером (обленился я совсем)
0
0 / 0 / 0
Регистрация: 31.01.2008
Сообщений: 72
11.11.2009, 21:43
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
'Attribute VB_Name = 'Module1'
Sub программа()
  MsgBox "Работать надо головой!"
End Sub
Sub УдалениеМодуля()
' Удалаем модуль 'Module1' в документе Word
' Эта процедура описана в модуле 'Module1'
' Если другая компановка, то смотри рекомендации выше в программе
РазмерКоллекции = Application.VBE.ActiveVBProject.VBComponents.Count
For i = 1 To РазмерКоллекции
  If Application.VBE.ActiveVBProject.VBComponents(i).Name = "Module1" Then
    Счетчик = i
    Exit For
  End If
Next i
Application.VBE.ActiveVBProject.VBComponents.Remove Application.VBE.ActiveVBProject.VBComponents(Счетчик)
ThisDocument.Save  ' закрыть книгу придется вручную! Похоже на конфликты - модуль уже удален!
' для Excel 'ThisDocument' надо заменить на 'ThisWorkbook'
End Sub
0
allen
21.11.2009, 07:31
Спасибо!
Как удалить весь программный код в проекте?
0 / 0 / 0
Регистрация: 31.01.2008
Сообщений: 72
21.11.2009, 21:41
Определенные рекомендации есть в процедуре 'программа'...
Могу только к этому добавить, что весь программный код это набор модулей и может быть события типа открыть книгу (документ).
Для удаления модулей с известными именами надо повторять эту опиисаную выше процедуру, или поставить case в цикле...

Тема закрыта...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.11.2009, 21:41
Помогаю со студенческими работами здесь

Удаление файла из макроса
Дело в том надо из макроса в Ацесе97 экспортится куча файлов.И время от времени появляются непонятные ошибки о невозможности экспортнуть в...

Удаление повторяющихся имён при помощи макроса
Есть шит там следующая ситуация ------А--------В---- 1-----Артур----15000 2-----Артур----25000 3-----Артур----50000 ...

Имя файла при сохранении
Здравствуйте При сохранении файла формируется его название. Понадобилось в название файла добавить текст из ячейки "B1". Текст...

Ошибка при сохранении файла
Хотел сохранить файл. Маткад сказал, что сохранить не может, но есть резервная копия. Вышел из маткада. Вхожу - файла нет, всплывает...

Ошибка при сохранении файла
Почему при сохранении файла, если для формирования его имени использовать DateToStr(Now()) и TimeToStr(Now()) происходит ошибка? void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
1С: Программный отбор элементов справочника Номенклатура по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника Сотрудники по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru