Почему Word считает, что док-т изменен при обращ. к фону?

Программирование на Visual Basic for Applications
Goettsch
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 21.08.2007 (Вт) 1:44

Почему Word считает, что док-т изменен при обращ. к фону?

Сообщение Goettsch » 03.05.2009 (Вс) 12:22

Привет! Вопрос, может, покажется пустяковым, но мне интересно. Допустим, в объекте ThisDocument (т.е. в дереве объектов Project > Microsoft Word Objects > ThisDocument) в событие _Open (т.е. чтобы срабатывало при открытии документа) записано:

Код: Выделить всё
Private Sub Document_Open()
    MsgBox ThisDocument.Background.Fill.ForeColor.RGB
End Sub

Как видим, тут в св-ва ничего не записывается, просто мессидж с цветом фона. Но при закрытии документа Word выводит сообщение "Сохранить изменения в документе?", как если бы он реально изменился. Почему это присходит и Word считает документ измененным? И как от этого избавиться (если возможно)?

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

Re: Почему Word считает, что док-т изменен при обращ. к фону?

Сообщение alibek » 03.05.2009 (Вс) 12:27

Возможно при этом обновляется какая-нибудь форма, из-за чего документ и считается обновленным.
Lasciate ogni speranza, voi ch'entrate.

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: Почему Word считает, что док-т изменен при обращ. к фону?

Сообщение Alec » 03.05.2009 (Вс) 13:38

Попробуй сообщить ворду, что документ не изменялся:
Код: Выделить всё
Private Sub Document_Open()
    MsgBox ThisDocument.Background.Fill.ForeColor.RGB
    ThisDocument.Saved = True
End Sub
Иногда лучше вовремя остановиться...
И начать заново!

viter.alex
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 221
Зарегистрирован: 27.07.2008 (Вс) 20:17
Откуда: Montreal

Re: Почему Word считает, что док-т изменен при обращ. к фону?

Сообщение viter.alex » 03.05.2009 (Вс) 14:39

Свойство Saved сбрасывается именно после генерации сообщения. При чем, если в сообщении указать просто текст, а не какое-то свойство документа, то сброса не происходит. Почему так, известно разработчикам. А это мешает?
Лучше день потерять — потом за пять минут долететь!

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Re: Почему Word считает, что док-т изменен при обращ. к фону?

Сообщение RayShade » 04.05.2009 (Пн) 10:37

Скорее всего, документ изменяется в процессе набора этого самого кода :)
I don't understand. Sorry.

Goettsch
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 21.08.2007 (Вт) 1:44

Re: Почему Word считает, что док-т изменен при обращ. к фону?

Сообщение Goettsch » 05.05.2009 (Вт) 8:57

Goettsch писал(а):Но при закрытии документа Word выводит сообщение "Сохранить изменения в документе?", как если бы он реально изменился

RayShade писал(а):Скорее всего, документ изменяется в процессе набора этого самого кода

Когда я говорю при "закрытии" документа, я имею в виду, не первое закрытие док-та (т.е. открыл док-т, набрал в VBA-редакторе код, закрыл док-т — дураку ясно, что при первом закрытии файл будет изменен), а все последующие закрытия (т.е. открыл во второй раз, закрыл — выскочило сообщение "Сохранить изменения в документе?" итд…)


Вернуться в VBA

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

Сейчас этот форум просматривают: Google-бот и гости: 22

    TopList