VB+Word !!! как избавиться от msg о сохранении документа ??

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
el
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 03.05.2003 (Сб) 3:34

VB+Word !!! как избавиться от msg о сохранении документа ??

Сообщение el » 27.10.2003 (Пн) 19:54

На форме имеется WB as WebBrowser
есть файлы: Fname1 и Fname2 (нормальные файлы ворда *.doc с текстом)

Необходимо сделать таким образом, чтобы пользователь смог просматреть эти документы (по нажатию в списке, например. и документ отображался непосредственно на форме программы)
но не мог их менять (всякие поиски в тексте, изменение zoom.. могут использоваться)

Вся эта конструкция у меня реализована с одним недостатком: когда пользователь переходит к открытию следующего документа компонент возникает мессадж-бокс с вопросом о сохранении текущего документа.

как от него избавиться?

//Запрет на изменение сделал через таймер:
// проверка на изменение
// выполенение Doc.Undo

// документы загружаю так:
// WB.Navigate(filename)
// далее жду когда WB.Busy=Flase
// и выполняю: Set Doc=WB.Document
// (Doc As Word.Document)
// с открытым документом через Doc работают все
// необходимые манипуляции (поиск/копирование в буфер/zoom...)

возможно я не прав при открывании файла?
тогда подскажите как сделать:

Doc= <открываю документ>
а только потом делаю ЧТО-ТО что позволяет передать Doc в WB без Navigate:
"""WB.Document = Doc"""
(тоесть указатель передовать браузеру а не наоборот)



спасибо

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 28.10.2003 (Вт) 9:57

1. У документа есть свойство <Document>.Saved. Если Saved=True то запроса на сохранение не будет.
2. Документ лучше открывать как Documents.Open (синтаксис посмотри в справке или в браузере объектов).
3. Запрет на изменение у тебя сделан глупо, ты уж извини. В Word начиная с версии 6.0 есть возможность запретить изменения в документе с помощью <Document>.Protect [wdAllowOnlyFormFields]
Lasciate ogni speranza, voi ch'entrate.

el
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 03.05.2003 (Сб) 3:34

Сообщение el » 01.11.2003 (Сб) 14:50

спасибо большое за ответ.

>>>>>>1. У документа есть свойство <Document>.Saved. Если Saved=True то запроса на сохранение не будет.

ничего подобного. пробовал и непосредственно перед закрытием выполнить - один хрен, хотя значение менялось реально но msg-остался (как будто ему наплевать на этот флаг)

>>>>>>>2. Документ лучше открывать как Documents.Open (синтаксис посмотри в справке или в браузере объектов).

Doc As Word.Document
получив Doc = Documents.Open(file...) как его отдать в WebBrowser???
(кстати если открывать так, я думаю и Saved=True заработал бы)

3. Запрет на изменение у тебя сделан глупо, ты уж извини. В Word начиная с версии 6.0 есть возможность запретить изменения в документе с помощью <Document>.Protect [wdAllowOnlyFormFields][/quote]

есть такая возможность. но в таком случае текст в документе недоступен для выделения (а пользователь может захотеть часть скопировать в буф), также нельзя делать поиск в документе - невозможно выделить найденный кусок. Глупо, согласен, и пусть даже этот механизм остался, главное без мессаджа о сохранении.

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 01.11.2003 (Сб) 17:49

el писал(а):ничего подобного. пробовал и непосредственно перед закрытием выполнить - один хрен, хотя значение менялось реально но msg-остался (как будто ему наплевать на этот флаг)


Ну уж не знаю я. Засомневался ту на твой текст глюдючи, запихнул
в процедуру:

Код: Выделить всё
application.ActiveDocument.Saved = True


запустил, и все нормально, не было запроса на сохранение.

запихни это в событие open документа и все ОК будет


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 7

    TopList  
cron