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

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

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

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

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

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

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

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

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

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

Я думаю в Word-е аналогично
0
0 / 0 / 0
Регистрация: 18.10.2009
Сообщений: 8
11.11.2009, 18:31 3
Пожалуйста поподробне с примером (обленился я совсем)
0
0 / 0 / 0
Регистрация: 31.01.2008
Сообщений: 72
11.11.2009, 21:43 4
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 5
Спасибо!
Как удалить весь программный код в проекте?
0 / 0 / 0
Регистрация: 31.01.2008
Сообщений: 72
21.11.2009, 21:41 6
Определенные рекомендации есть в процедуре 'программа'...
Могу только к этому добавить, что весь программный код это набор модулей и может быть события типа открыть книгу (документ).
Для удаления модулей с известными именами надо повторять эту опиисаную выше процедуру, или поставить case в цикле...

Тема закрыта...
0
21.11.2009, 21:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2009, 21:41
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru