| 
| 
 | Вопрос # 5 510/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты!Как (ПРОГРАМНО) определить параметры документов Word и Excel – дата(время) создания, последнего сохранения, вывода на печать, автора, автора последнего сохранения, производителя ? Заранее благодарен.
 
|  |   Вопрос задал: Vics (статус: Посетитель)Вопрос отправлен: 18 июля 2011, 18:18
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Шичко Игорь Здравствуйте, Vics!Для этого используется массив свойств BuiltInDocumentProperties
 
 ...
 var
 Word, Doc: variant;
 autor: string;
 
 begin
 ...
 Word:= CreateOleObject('Word.Application');
 Doc:= Word.Documents.Open('C:\my_doc\1.doc');
 autor:= Doc.BuiltInDocumentProperties[3].Value; // автор
 ...
 
 В приложении выкладываю все доступные свойства.
 Удачи.
 Приложение:Переключить в обычный режим   type  WdBuiltInProperty = TOleEnum;const              wdPropertyVBATotalEdit = $0000000D;      wdPropertyCategory = $00000012;   wdPropertyFormat = $00000013;  wdPropertyManager = $00000014;  wdPropertyCompany = $00000015;  wdPropertyBytes = $00000016;  wdPropertyLines = $00000017;  wdPropertyParas = $00000018;  wdPropertySlides = $00000019;  wdPropertyNotes = $0000001A;  wdPropertyHiddenSlides = $0000001B;  wdPropertyMMClips = $0000001C;  wdPropertyHyperlinkBase = $0000001D;  wdPropertyCharsWSpaces = $0000001E;  
|  | Ответ отправил: Шичко Игорь (статус: 9-ый класс)Время отправки: 18 июля 2011, 21:16
 Оценка за ответ: 4
 |  
 Мини-форум вопросаВсего сообщений: 8; последнее сообщение — 19 июля 2011, 18:50; участников в обсуждении: 3. 
|   | Vics (статус: Посетитель), 19 июля 2011, 10:25 [#1]:с наскока не пошло - Undeclared identifier 'CreateOleObject'
 |  
|   | Vics (статус: Посетитель), 19 июля 2011, 11:11 [#2]:Добавил в uses ComObj -пошло. Кстати OfficeXP и WordXP нужны оба ?
 И, я полагаю, на Word.Documents.Open должон быть и Close ?
 Игорь, спасибо, дело пошло.
 |  
|   | Шичко Игорь (статус: 9-ый класс), 19 июля 2011, 11:29 [#3]: Цитата: Игорь, спасибо, дело пошло.  И все-таки четверка за ответ?
 
 
 Цитата: И, я полагаю, на Word.Documents.Open должон быть и Close ?  Конечно.
 В вопросе этого не звучало, думал это и так понятно.
 Сохранить документ, закрыть документ, выйти из приложения, освободить память.
 |  
|   | Vics (статус: Посетитель), 19 июля 2011, 13:54 [#4]:Ну не знаю, 4 это вполне приличная оценка (по 5 бальной шкале). Но если ты так настаиваеш ... ты еще не указал модули, которые нужно подвязать. Оно и так понятно, но, может не всем.? Кстати, закрыть документ, выйти из приложения, освободить память чет некоректно работает... и исчо -
 не пашут
 ни Doc.BuiltInDocumentProperties[10].Value
 ни Doc.BuiltInDocumentProperties[$0000000A].Value
 я даже пробовал
 Doc.BuiltInDocumentProperties[9+1].Value -
 'Неопознанная ошибка'. Просто даже любопытно ...
 Так что 2 балла. Это мне.
 |  
|   | Шичко Игорь (статус: 9-ый класс), 19 июля 2011, 14:49 [#5]: Цитата:  Ну не знаю, 4 это вполне приличная оценка (по 5 бальной шкале). Но если ты так настаиваеш  
 Совершенно ни на чем не настаиваю. Просто вопрос прозвучал:
 "Как (ПРОГРАМНО) определить параметры документов Word и Excel – дата(время) создания, последнего сохранения, вывода на печать, автора, автора последнего сохранения, производителя ? "
 
 В моем понимании человек владеет основами программирования по Word и задает вопрос, касающийся совершенно определенного модуля (фрагмента кода) в программе.
 
 Другое дело написать: "Как запустить (ПРОГРАММНО) приложение Word, открыть документ, определить параметры и т.п, сохранить изменения и выйти из приложения"
 
 Ну это так в виде совета на будущее.
 |  
|   | Vics (статус: Посетитель), 19 июля 2011, 15:30 [#6]:Запускать приложение Word, открывать документ, изменять, сохранять необходимости нет. Это и не спрашивалось! Нужно просто снять параметры у большого количества документов. Подробно описывать свои проблемы - грузить мозги. Стараешся быть кратким ... Пойду обдумывать формулировку следующего вопроса. За совет спасибо.
 |  
|   | Шичко Игорь (статус: 9-ый класс), 19 июля 2011, 15:33 [#7]:Ok. Будут вопросы - задавайте. Что-то придумаем. |  
|   | Gooddy (статус: 3-ий класс), 19 июля 2011, 18:50 [#8]: Цитата: Стараешся быть кратким Vics: лучше быть последовательным и предусмотрительным, чем кратким.
 Чисти код! Чисти код! Чисти код! |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |