Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2011, 15:43   #1
MiheyS
 
Регистрация: 15.04.2011
Сообщений: 9
Восклицание Макрос, не сохранять.

Дано:
Рабочая прога, которая по нажатию кнопочки ОК открывает ворд, создает документ, заполнив поля из базы проги, и мы можем отправить на печать, сохранить и т.д., ну как с обычным документом, но если документ просто закрыть, то он не предлагает сохранить его. Значит произведена небольшая модернизация посредством макроса, а т.е. активный док отправляется на печать, и закрывается без сохранения, ну а потом сам ворд закрывается, так вот на этапе закрытия документа, прога выдает ошибку - нельзя не сохранять документ, т.к. приложение ворд закрыто. Если кто понял. может подскажите как обойти или избавиться от этого, или может как так макрос написать, что бы он сразу проге давал сделать Dont save, а потом сам закрывал без сохранения.
Тупо даже если делаешь:
Active Document Close
Aplication Close

Выдает

Proga dont execute CloseNoSave, because aplication MSW closed
MiheyS вне форума Ответить с цитированием
Старый 15.04.2011, 18:39   #2
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Если при закрытии документа не предлагается его сохранить, то возможны два варианта:
  1. Документ уже сохранён. Просто вы не знаете где.
  2. У документа программно изменено свойство Saved. Оно установлено в значение True и приложение считает его сохранённым
Если я неправильно понял, то поясните ещё раз.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 15.04.2011, 20:56   #3
MiheyS
 
Регистрация: 15.04.2011
Сообщений: 9
По умолчанию

Если при закрытии документа не предлагается его сохранить, то возможны два варианта:

1. Документ уже сохранён. Просто вы не знаете где.
2. У документа программно изменено свойство Saved. Оно установлено в значение True и приложение считает его сохранённым

Если я неправильно понял, то поясните ещё раз.

Да он есть в темпе, а вот остальное поподробнее, и как обойти.
и как я понимаю программа сама говорит ворду, что делать с документом, а то есть DoNoSave, вопрос можно ли это обойти
MiheyS вне форума Ответить с цитированием
Старый 16.04.2011, 01:54   #4
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Программа ничего не говорит. Если документ сохранён, то Word не будет спрашивать сохранять его или нет.
Можно, правда, закрывая документ, указать, что его не нужно сохранять
Любые вопросы по коду будут рассматриваться только при наличии кода, оформленного соответствующими тегами
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 16.04.2011, 10:54   #5
MiheyS
 
Регистрация: 15.04.2011
Сообщений: 9
По умолчанию

Выскакивает именно окно программы, название окна именно название программы. В программе я создаю определённую запись в БД, после формирования записи в БД, программа спрашивает хотите ли создать отчёт по данной записи, жмем ДА, после этого программа открывает ворд, с сформированным отчётом, нам остаётся нажать печать и закрыть, при закрытии он не спрашивает сохранить или нет отчёт, просто закрывает, причём сохраняет в темпе rep.rtf все созданные отчёты, не возможно создать новый отчёт пока открыт предыдущий, если сохранить в другое место, тогда можно. Я записал макрос, для того, что бы пользователь не мог под вордом изменить в отчёте ничего, только через программу, что соответственно логируется, ну и естественно для ускорения выполнения задачи, макрос, который при создании любого документа отправляет его на печать, закрывает документ без сохранения, закрывает приложение ворд. После выполнение макроса, программа выдаёт ошибку, о том что команда CloseNoSave не может быть выполнена, потому что приложение ворд закрыто.
Кода я дать не могу, т.к. нет исходников, продукт коммерческий, организация обслуживается официально, но организация очень большая 16 000 человек, соответсвенно подразделений, соответственно компов, и на меня и мои мелочи они отвлекаться не будут. Декомпилировать не пробовал, т.к. дело не благодарное, ну и соответственно если даже всё хорошо полчится и она после изменения кода и компиляции будет работать, очень срьёзная структура и иерархия, возможны косяки с вышестоящими базами, так вот если даже все будет ОК, когда пацаны из фирмы узнают что я творил таки вещи меня уволят через минут 30, поэтому и спрашиваю какими средствами это можно обойти. Хотя в принципе ничего страшного если пользователь и понажимает каждый раз на ОК в ошибке, но как-то не эстетично.
MiheyS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сохранять ключ Умагаджи Общие вопросы Delphi 4 06.02.2011 13:16
отделять Attachment и сохранять в файл D_E_N Работа с сетью в Delphi 0 01.11.2009 21:42
Как сохранять HTML страницы в БД? tsergey Помощь студентам 5 03.04.2009 16:05
КАК СОХРАНЯТЬ ИЗМЕНЕНИЯ В ПРОГРАММЕ? Fellics{новичок} Общие вопросы Delphi 15 28.03.2008 18:07
Как сохранять расположение ToolStrip'ов (C#)? behod Общие вопросы .NET 0 27.02.2008 00:39