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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.10.2009, 04:29   #1
Energy42
Пользователь
 
Регистрация: 25.09.2009
Сообщений: 10
По умолчанию Как достоверно определить изменения в документе?

Добрый день.

Сейчас проверяю был изменён документ или нет с помощью ActiveDocument.Saved, то есть если false, то были изменения, но это несколько не корректно, ибо true возвращается и в случае, если документ был изменён и сохранён.

Есть ли более достоверный способ узнать вносил ли пользователь изменения в документ с последнего открытия или нет?
Energy42 вне форума Ответить с цитированием
Старый 09.10.2009, 08:29   #2
БуреВестник
Пользователь
 
Регистрация: 19.09.2009
Сообщений: 69
По умолчанию

Напиши код, как ты определяешь, вносились изменения или нет.
Вообще, узнать с помощью кода, вносились ли изменения или нет, нельзя. Это можно сделать, сравнивая первоначальный документ и измененный документ: Сервис - Сравнить и объединить документы - галочка Чёрные строки. Если интересует только добавление или удаление текста, то убери галочку Найти форматы.

P.s. В Word очень тяжело понять при сравнении, что является сравниваемым документом, за это им минус.
БуреВестник вне форума Ответить с цитированием
Старый 09.10.2009, 09:04   #3
Energy42
Пользователь
 
Регистрация: 25.09.2009
Сообщений: 10
По умолчанию

Цитата:
Напиши код, как ты определяешь, вносились изменения или нет.
В первом сообщении написано как я проверяю:
If ActiveDocument.Saved Then
......
End If
Как я уже сказал, это несколько не корректная проверка, но другого способа пока не знаю... Если только смотреть есть ли история изменений (undo), но как до неё добраться не знаю.

Цитата:
Это можно сделать, сравнивая первоначальный документ и измененный документ: Сервис - Сравнить и объединить документы - галочка Чёрные строки. Если интересует только добавление или удаление текста, то убери галочку Найти форматы.
Сравнение документов это конечно хороший вариант, однако проверять нужно программно, а не глазами сравнивать... Или я не правильно понял идею?
Energy42 вне форума Ответить с цитированием
Старый 09.10.2009, 10:28   #4
БуреВестник
Пользователь
 
Регистрация: 19.09.2009
Сообщений: 69
По умолчанию

If ActiveDocument.Saved Then
это как? Ты проверяешь документ через сеть что ли? То есть какой-то человек открыл документ, ты через сеть заходишь в этот документ, запускаешь свой макрос If ActiveDocument.Saved Then и проверяешь, не произошли ли изменения?
БуреВестник вне форума Ответить с цитированием
Старый 19.10.2009, 04:02   #5
Energy42
Пользователь
 
Регистрация: 25.09.2009
Сообщений: 10
По умолчанию

Цитата:
Ты проверяешь документ через сеть что ли?
С чего ты взял? В документе есть макрос, в нём некая логика, в зависимости от того были изменения или нет, производятся те или иные действия.
Energy42 вне форума Ответить с цитированием
Старый 19.10.2009, 05:07   #6
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Документ (при открытии) помнит место курсора в момент сохранения, по шифт-F5.

Попробуй использовать значения полей типа
16/10/2009 14:32:00 {savedate}
и
244736 {filesize}

Поля можно вставить по контрол-F9, вписав меж скобок вышеуказанный текст.

Содержимое (выделенного) поля обновляется по F9 (либо программно).

Переключение поле/значение — по альт-F9 либо шифт-F9 — когда оно выделено.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 19.10.2009, 08:15   #7
БуреВестник
Пользователь
 
Регистрация: 19.09.2009
Сообщений: 69
По умолчанию

А не проще ли тебе сделать следующее: открой новый документ Word, сохрани его и закрой, затем открой, набей цифру один, сохрани и закрой, затем открой его и примени свой макрос. Сразу все вопросы отпадут.
Вот ещё ссылка
http://www.programmersforum.ru/showt...F2%E5%EA%F1%F2

Последний раз редактировалось БуреВестник; 19.10.2009 в 08:28.
БуреВестник вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как преобразовать значение полей в документе в текст dima9 Microsoft Office Word 14 22.10.2011 21:28
Как узнать щелкнули ли по картинке в документе pavelXYZ Microsoft Office Word 0 14.09.2009 17:20
Как узнать количество рисунков в документе? Busine2009 Microsoft Office Word 7 15.07.2009 18:26
Как открыть папку,нажимая на ссылку в HTML-документе? Zap PHP 3 20.05.2009 00:19
как вставить ссылку на ячейку в документе Excel в Word? ruavia3 Microsoft Office Excel 3 19.03.2009 21:32