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

Сохранение документов без поддержки макросов

13.06.2016, 12:46. Показов 8626. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При пересохранении документов на основе шаблона, в новых документах сохраняются все макросы из шаблона, а нужно пересохранять документы без поддержки макросов.
Делаю пересохранение кодом:
Кликните здесь для просмотра всего текста

Visual Basic
1
oActDoc.SaveAs2 oActDoc.Path & "/" & sActDocNewFileName, wdFormatDocumentDefault

Документ пересохраняется это да, НО, если в документе перед его закрытием сделать в нем хоть какое то малейшее изменение – букву добавить или абзац убрать, не важно..., то уже в последствии при сохранении последних изменений появляется сообщение:
Вложение 706067
Что я делаю не так? Или чего не хватает в коде, чтобы сообщение пользователю не выводилось после пересохранения документа и внесения в него последних изменений?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.06.2016, 12:46
Ответы с готовыми решениями:

Сохранение документа Word без макросов
Задача в следующем: Создан шаблон с макрокомандами, формирующими документ. Требуется сохранять созданный документ так, чтобы в экземпляре...

Программное сохранение книги с отработкой макросов
Доброе время суток. Подскажите как программно сохранить книгу с выполнением макросов. Есть макрос (проверка при сохранении). Я...

Закрыть приложение Word БЕЗ сохранения документов и без запроса
Добрый день! После открытия документа и выполнения манипуляций с ним Word выдает запрос о подтверждении сохранения изменений. Как...

6
2041 / 473 / 131
Регистрация: 13.11.2008
Сообщений: 902
13.06.2016, 15:55
Вложения нет, если честно.
Но победить сообщение можно попробовать так:
перед сохранением добавить строку:
Visual Basic
1
Application.DisplayAlerts = 0
только не забудьте после этого вернуть обратно:
Visual Basic
1
Application.DisplayAlerts = -1
0
0 / 0 / 0
Регистрация: 07.11.2010
Сообщений: 23
13.06.2016, 20:58  [ТС]
The_Prist,
Строка не помогла:
Visual Basic
1
Application.DisplayAlerts = 0
Все равно после пересохранения, если открыть редактор VBA то отображаются имя проекта и модули. Стоит закрыть файл не внося в него изменений, а потом тут же переоткрыть, то все ок. Но если после пересохранения не закрывая документ внести в него любые изменения и нажать сохранить, то сразу же появляется окно сообщения.

"Вложения нет, если честно."
Сори, почему то с первого раза картинка не подгрузилась и отсылает к админу.
0
2041 / 473 / 131
Регистрация: 13.11.2008
Сообщений: 902
13.06.2016, 22:25
Цитата Сообщение от natawka Посмотреть сообщение
Но если после пересохранения не закрывая документ внести
Так модули и не удалятся пока книгу не закроете - особенность такая.
И я не совсем понял: Вы кодом сохраняете или вручную? У меня отключение сообщений работает. Сохраняю в формат без макросов кодом - не ругается никак. Вношу изменения и заново сохраняю - тоже все нормально. Если вручную - то да, появляется окно. Ну а куда оно денется? Оно предупреждает пользователя, который собственными руками пытается сохранить документ, содержащий коды, без этих кодов.
Может Вам просто сохранять документ кодом в формате без поддержки макросов, а потом так же кодом закрыть и заново открыть? И уже после этого пусть пользователь вносит изменения - тогда никаких кодов там уже точно не будет.
0
0 / 0 / 0
Регистрация: 07.11.2010
Сообщений: 23
14.06.2016, 22:11  [ТС]
Цитата Сообщение от The_Prist Посмотреть сообщение
Так модули и не удалятся пока книгу не закроете - особенность такая.
И я не совсем понял: Вы кодом сохраняете или вручную? У меня отключение сообщений работает. Сохраняю в формат без макросов кодом - не ругается никак. Вношу изменения и заново сохраняю - тоже все нормально. Если вручную - то да, появляется окно. Ну а куда оно денется? Оно предупреждает пользователя, который собственными руками пытается сохранить документ, содержащий коды, без этих кодов.
Может Вам просто сохранять документ кодом в формате без поддержки макросов, а потом так же кодом закрыть и заново открыть? И уже после этого пусть пользователь вносит изменения - тогда никаких кодов там уже точно не будет.
Не совсем понятен вопрос, про кодом сохраняю документ???
В редакторе VBA в процедуре делаю пересохранение через SaveAs2. Т.е. не так как это обычно делает пользователь, а программно.
Пока что выхожу из положения как раз именно тем, что программно в начале делаю пересохранение, потом закрываю документ и затем снова его же открываю и тогда сообщение не выводится, все работает как надо.
Но получается просто как то странно и тупо, что после пересохранения приходится закрывать и снова открыть этот же документ.
Неужели это единственный способ, чтобы избежать это сообщение???

Добавлено через 33 минуты
Возможно я что упускаю в параметрах SaveAs2, чтобы документ сразу сохранялся без поддержки макросов?
Поэтому данное сообщение и выводится, но в справке VBA я не нахожу подобного параметра.
0
2041 / 473 / 131
Регистрация: 13.11.2008
Сообщений: 902
14.06.2016, 22:45
Цитата Сообщение от natawka Посмотреть сообщение
Не совсем понятен вопрос
Тогда я поясню "понятннее": когда появляется сообщение из скрина? Когда программно сохраняете или когда пользователь после внесения изменений нажимает Сохранить? Если второе - то выход только один и параметры SaveAs2 здесь не при чем. Я же написал:
Цитата Сообщение от The_Prist Посмотреть сообщение
Так модули и не удалятся пока книгу не закроете - особенность такая.
Т.е. никакие параметры не помогут - так уж задумано, что существующие в книге модули удаляются только после закрытия книги.
1
0 / 0 / 0
Регистрация: 07.11.2010
Сообщений: 23
15.06.2016, 23:24  [ТС]
Цитата Сообщение от The_Prist Посмотреть сообщение
Тогда я поясню "понятннее": когда появляется сообщение из скрина? Когда программно сохраняете или когда пользователь после внесения изменений нажимает Сохранить?
Ага, теперь понятно. Сообщение из скрина появляется тогда, когда пользователь внес какие-либо изменения и пытается сохранить документ, т.е. жмет стандартную дискетку "Сохранить" на панели инструментов. Т.е. сообщение появляется после того как макрос отработает пересохранение - код ошибок не вызывает.
В общем понятно..., раз такая особенность, значит тогда вариант с переоткрытием после пересохранения файла - это единственный способ и другого не дано.
___________
The_Prist, спасибо Вам большое за помощь и консультацию.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.06.2016, 23:24
Помогаю со студенческими работами здесь

Сохранить файл без макросов
Есть один файл, с одним листом. Называется он oo.xls. Как его сохранить как ooo.xls без макросов, и...

Сохранение документов
Вопрос такой. 1C v77 появилось необходимость, в такой фишке. из документа по истечению срока копируется нужная информация в документ...

Суммирование последующих ячеек, без макросов
прошу помочь задачей, она в файле. мое решение - путем формулы =ЕСЛИ(C$12<$B$7;$B$8;$B$8/2) выводятся числа, но я не понимаю, как сделать,...

сохранить копию doc без макросов
Здравствуйте есть 2.doc с макросами, как с помощью vba его же скопировать но уже что бы в нём не было макросов?

Сохранение Текстових документов???
Помогите пожалуйста создать диалоговое окно для сохранения тектових документов? Такое же как и в блокноте не используя SaveDialog!


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru