4 / 4 / 0
Регистрация: 16.10.2014
Сообщений: 135
|
|
1 | |
Событие сохранения документа для Word16.10.2014, 10:04. Показов 6908. Ответов 9
Метки нет (Все метки)
В VBA для Word не обнаружил событие сохранения документа. Вот в VBA для Excel есть событие Workbook_BeforeSave. Как быть?
0
|
16.10.2014, 10:04 | |
Ответы с готовыми решениями:
9
Защита документа word. (без сохранения, без копирования) VBA Word. Макрос для сохранения слияния Как указать Word'у каталог для сохранения файлов Ошибка сохранения документа WORD |
4 / 4 / 0
Регистрация: 16.10.2014
Сообщений: 135
|
|
16.10.2014, 11:00 [ТС] | 3 |
Спасибо.
Пробую object_DocumentBeforeSave, appWord_DocumentBeforeSave и просто DocumentBeforeSave, событие не срабатывает. Ведь в Excel'е до Workbook_BeforeSave ничего не нужно было писать. Может просветите что нужно писать вместо object для текущего документа?
0
|
Заблокирован
|
|
16.10.2014, 11:37 | 5 |
Это и есть основы объектного программирования
из одного проекта, можно запросто ссылаться на другие (обычно зарегестрированные) библиотеки, общения между ними, это события Добавлено через 6 минут P.S, конечно-же свои библиотеки я делаю так.. чтобы они вели себя очень тихо ничего не просили, не прикапывались, а самое главное чтобы работали ))
0
|
6081 / 1325 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
|
||||||
16.10.2014, 12:02 | 6 | |||||
Кратко передавая содержимое справочных материалов, процитированных Апостроффом, объясняю: вместо object вам нужно написать имя объекта, поддерживающего событие DocumentBeforeSave (например, имя объекта типа Application) и (внимание!) этот объект должен быть проинициализирован, как в участке
Я немного доработал программу из второго поста в данной теме, теперь она представляет собой завершенный проект. Привожу ее код, который необходимо поместить в модуль объекта ThisDocument (ЭтотДокумент).
Аксима
2
|
4 / 4 / 0
Регистрация: 16.10.2014
Сообщений: 135
|
|
16.10.2014, 12:32 [ТС] | 7 |
"Ура! Заработала!"(С) после того как наряду с Dim WithEvents appWord As Word.Application добавил ещё Set appWord = Word.Application . Спасибо всем!
Только вот не пойму, зачем в Ворде так нужно делать, ведь в Экселе обходится без объявления и инициализации.
0
|
6081 / 1325 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
|
|
16.10.2014, 12:55 | 8 |
Потому что в Excel вы используете объект ThisWorkbook, который уже объявлен, проинициализирован и любезно предоставлен вам приложением (объектом Application). Если бы вам понадобилось использовать события самого объекта Application в Excel, вам пришлось бы повторить в точности ту же процедуру, что приведена здесь для Word.
И это абсолютно логично, ведь если программируете в VBA, то выше объекта Application в иерархии нет никого. Некому командовать объектами Application, объявлять и инициализировать их и предоставлять программисту - это должен делать сам программист. С уважением, АксимаP.S. Для программистов на VSTO есть объект ThisApplication, но это уже тема для отдельного топика...
1
|
18.10.2014, 12:49 | 9 |
Для автоматизации работы (в т. ч. и сохранения) также можно использовать процедуру AutoClose: Программное нажатие кнопки "сохранить" в диалоговом окне Word. Почти всю работу выполняет её имя!
0
|
0 / 0 / 0
Регистрация: 04.04.2019
Сообщений: 3
|
|
29.05.2019, 12:53 | 10 |
Word 2010 при первом запуске так и не могу отловить Save. Только после событий New, Open, Close появляется возможность BeforeSave. Это как то можно победить? Т.е. получается запустил Word набрал текст - сохранил. И это никак нельзя отследить :-(
0
|
29.05.2019, 12:53 | |
29.05.2019, 12:53 | |
Помогаю со студенческими работами здесь
10
Реализация сохранения документа MS Word Как изменить параметры окна сохранения документа в Word 2003? Событие Закрытия Документа Word Событие для сохранения размера колонок stringgrid Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |