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

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

13.06.2016, 12:46. Показов 8714. Ответов 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
2062 / 491 / 134
Регистрация: 13.11.2008
Сообщений: 935
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
2062 / 491 / 134
Регистрация: 13.11.2008
Сообщений: 935
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
2062 / 491 / 134
Регистрация: 13.11.2008
Сообщений: 935
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
Ответ Создать тему
Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru