Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.27;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
1-86847
Zeonn
2003-01-19 16:38
2003.01.27
Работа с GIF форматом


1-86732
S.P.I.R.I.T
2003-01-16 06:03
2003.01.27
Потерял гдето


14-87147
Slayer
2003-01-10 13:36
2003.01.27
DelphiX


6-86992
Bsl
2002-11-28 08:01
2003.01.27
ARP кэш.


1-86914
Павел
2003-01-16 14:07
2003.01.27
Копирование строк