Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Файлы Office. [D6, D7]


frost63 ©   (2003-10-02 07:16:00) 

Как выташить инфу о создателе, заголовке и т.д. т.е. все то что возможно.


me   (2003-10-02 16:57:00) [1]

Почитать в MSDN, Summary Information Property Set
Так можно прочесть инфу об авторн документа, заданного именем FileName:

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
OleCheck(StgOpenStorage(PFileName, nil, STGM_DIRECT or STGM_READ or STGM_SHARE_EXCLUSIVE, nil, 0, Storage));
finally
SysFreeString(PFileName);
end;
PropSetStg := Storage as IPropertySetStorage;
OleCheck(PropSetStg.Open(FMTID_SummaryInformation, STGM_DIRECT or STGM_READ or STGM_SHARE_EXCLUSIVE, PropStg));
ps.ulKind := PRSPEC_PROPID;
ps.propid := PIDSI_AUTHOR;
PropStg.ReadMultiple(1, @ps, @pv);
Result := pv.pszVal;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо