Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];

Вниз

Как узнать автора файла документа ?   Найти похожие ветки 

 
blackman   (2003-01-19 11:46) [0]

Имя, дата, размер - без проблем.
А автор?
И то-же для DOC файлов. Где и как выдернуть ?


 
AlexKniga   (2003-01-19 15:13) [1]

Это реализовывает интерфейс {83799FE0-1F5A-11d1-95C7-00609797EA4F}
Если возникнут общие вопросы, то см. COM, ShellEx


 
asmith   (2003-01-19 16:55) [2]

Вот простой пример, подробности в MSDN:

uses ActiveX, ComObj, SysUtils;

function GetSummaryInfAuthor(FileName: TFileName): string;
var
PFileName: PWideChar;
Storage: IStorage;
PropSetStg: IPropertySetStorage;
PropStg: IPropertyStorage;
ps: PROPSPEC;
pv: PROPVARIANT;
const
FMTID_SummaryInformation: TGUID = "{F29F85E0-4FF9-1068-AB91-08002B27B3D9}";
begin
PFileName := StringToOleStr(FileName);
try
// Open compound storage
OleCheck(StgOpenStorage(PFileName, nil, STGM_DIRECT or STGM_READ or STGM_SHARE_EXCLUSIVE, nil, 0, Storage));
finally
SysFreeString(PFileName);
end;

// Summary information is in a stream under the root storage
PropSetStg := Storage as IPropertySetStorage;
// Get the IPropertyStorage
OleCheck(PropSetStg.Open(FMTID_SummaryInformation, STGM_DIRECT or STGM_READ or STGM_SHARE_EXCLUSIVE, PropStg));

// We want the author property value
ps.ulKind := PRSPEC_PROPID;
ps.propid := PIDSI_AUTHOR;

// Read this property
PropStg.ReadMultiple(1, @ps, @pv);

Result := pv.pszVal;
end;


 
blackman   (2003-01-19 17:35) [3]

А для Word"овских ?
Из них я выдергиваю статистику, а вот автора и ключевые слова как ?


 
asmith   (2003-01-19 17:37) [4]

Это для любых structured storage file, офисные документы как раз таковыми и являются.


 
blackman   (2003-01-19 17:58) [5]

Извините сам понял, что не прав. Если нужна такая программка, напишите выложу исходник



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.01 c
1-86954
Mentos
2003-01-13 14:25
2003.01.27
масштабирование


6-87014
Nikolay Enby
2002-11-27 21:10
2003.01.27
Вопрос о работе c локальной сетью.


1-86946
Smok_er
2003-01-17 01:02
2003.01.27
А как отправить окну сообщение о том,


1-86921
kull
2003-01-16 15:42
2003.01.27
Как получить относительный путь?


3-86680
DC2
2003-01-08 19:54
2003.01.27
Подскажите как сделать поле с числом десятичных знаков больше 4 (





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский