Проблема с Word'ом

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

Проблема с Word'ом

Сообщение z3f » 26.01.2005 (Ср) 10:51

Есть вордовый документ.
В событии на закрытие документа мне нужно поверить наличие заполнения текстового поля TextBox3. Если оно не заполнено - тогда не закрывать документ до тех пор пока человек не заполнит это поле.
Делаю
Private Sub Document_Close()
If TextBox3.Text = "" Then Response = MsgBox("Hello!", vbOk)
End Sub

Он радостно выкидывает мне MessageBox но после этого все равно выкидывает окно с пожеланием сохранить докумет, не сохранять и отменить...
Как сделать так чтобы все таки он не выкидывал никаких сообщений кроме msgbox пока поле не будет заполнено?

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

Сообщение alibek » 26.01.2005 (Ср) 10:59

Document.Saved = True
Lasciate ogni speranza, voi ch'entrate.

z3f
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 26.01.2005 (Ср) 10:44

Сообщение z3f » 26.01.2005 (Ср) 11:17

alibek писал(а):Document.Saved = True


Пишу -

Private Sub Document_Close()
If TextBox3.Text = "" Then
Response = MsgBox("Hello!", vbOK)
Document.Saved = True
End If
End Sub

Получаю ошибку Run-time error '424'

И как мне дальше двигаться?
кроме того документ - НЕ должен сохраняться - к нему должны вернуться чтобы до конца заполнить поля...
вот такая вот проблема...

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

Сообщение alibek » 26.01.2005 (Ср) 11:23

Ну правильно.
Word ведь не знает, какой Document ты имеешь ввиду. Пиши либо ThisDocument (или как он у тебя называется), либо ActiveDocument, либо Documents(1). Кроме того, .Saved=True не сохраняет документ, а просто устанавливает флаг, что документ не нуждается в сохранении.
Lasciate ogni speranza, voi ch'entrate.

z3f
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 26.01.2005 (Ср) 10:44

Сообщение z3f » 26.01.2005 (Ср) 11:34

alibek писал(а):Ну правильно.
Word ведь не знает, какой Document ты имеешь ввиду. Пиши либо ThisDocument (или как он у тебя называется), либо ActiveDocument, либо Documents(1). Кроме того, .Saved=True не сохраняет документ, а просто устанавливает флаг, что документ не нуждается в сохранении.


Насчет ActiveDocument я догадался когда он начал орать на 424 ошибку.
Но проблему это не сняло...
Код выше остался прежним за исключением
ActiveDocument.Saved = True
но при нажатии на кнопку cancel в msgbox выскакивает окно - сохранить документ, не сохранять, cancel.
Хотелось бы чтобы это окно не выскакивало а был возврат к именению документа...
вот в этом и проблем...
пробовал так
ActiveDocument.GoTo = TextBox3
но это однозначно не правильно хотя word и не ругается на это но по проежнему выкидывает окно с сохранение документа.
может както надо переписать кнопку закрытия документа?
но по моему это уже из разряда изврата=(
что делать????

попробовал еще так
Private Sub Document_Close()
If TextBox3.Text = "" Then
r = MsgBox("Hello!", vbOK)
'Document.Saved = True
'ActiveDocument.GoTo = ThisDocument.TextBox3
'TextBox3
End If
If r = vbOK Then
ActiveDocument.GoTo = ThisDocument.TextBox3
End If
End Sub


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

    TopList  
cron