AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Informationen aus MS Office

Ein Thema von poy · begonnen am 19. Dez 2002 · letzter Beitrag vom 25. Jul 2007
 
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.420 Beiträge
 
Delphi 12 Athens
 
#2
  Alt 19. Dez 2002, 14:53
Hier die gewünschte Lösung
Delphi-Quellcode:
uses
  ActiveX, ComObj;

procedure GetDocInfo(aFileName: String; Lines: TStrings);
const
  FMTID_SummaryInformation: TGUID = '{F29F85E0-4FF9-1068-AB91-08002B27B3D9}';
type
  TPropSpecArray = array[0..1000] of TPropSpec;
  PPropSpecArray = ^TPropSpecArray;
  TPropVariantArray = array[0..1000] of TPropVariant;
  PPropVariantArray = ^TPropVariantArray;
var
  stgRoot: IStorage;
  stgPS: IPropertySetStorage;
  stgP: IPropertyStorage;
  ps: PPropSpecArray;
  pv: PPropVariantArray;
begin
  Lines.Clear;
  OleCheck(StgOpenStorage(PWideChar(WideString(aFileName)), nil, STGM_READ or
      STGM_SHARE_EXCLUSIVE, nil, 0, stgRoot));
  stgPS := stgRoot as IPropertySetStorage;
  OleCheck(stgPS.Open(FMTID_SummaryInformation, STGM_READ or
      STGM_SHARE_EXCLUSIVE, stgP));
  ps := nil;
  pv := nil;
  GetMem(ps, SizeOf(TPropSpecArray));
  GetMem(pv, SizeOf(TPropVariantArray));
  try
    ps[0].ulKind := PRSPEC_PROPID;
    ps[0].propid := PIDSI_TITLE;
    ps[1].ulKind := PRSPEC_PROPID;
    ps[1].propid := PIDSI_COMMENTS;
    ps[2].ulKind := PRSPEC_PROPID;
    ps[2].propid := PIDSI_AUTHOR;
    OleCheck(stgP.ReadMultiple(3, @ps[0], @pv[0]));
    Lines.Add('Titel: ' + pv[0].pszVal);
    Lines.Add('Kommentar: ' + pv[1].pszVal);
    Lines.Add('Autor: ' + pv[2].pszVal);
  finally
    FreeMem(ps);
    FreeMem(pv);
  end;
end;
weitere Werte für propid
Code:
const
  // Property IDs for the SummaryInformation Property Set
  {$EXTERNALSYM PIDSI_TITLE}
  PIDSI_TITLE              = $00000002; // VT_LPSTR
  {$EXTERNALSYM PIDSI_SUBJECT}
  PIDSI_SUBJECT            = $00000003; // VT_LPSTR
  {$EXTERNALSYM PIDSI_AUTHOR}
  PIDSI_AUTHOR             = $00000004; // VT_LPSTR
  {$EXTERNALSYM PIDSI_KEYWORDS}
  PIDSI_KEYWORDS           = $00000005; // VT_LPSTR
  {$EXTERNALSYM PIDSI_COMMENTS}
  PIDSI_COMMENTS           = $00000006; // VT_LPSTR
  {$EXTERNALSYM PIDSI_TEMPLATE}
  PIDSI_TEMPLATE           = $00000007; // VT_LPSTR
  {$EXTERNALSYM PIDSI_LASTAUTHOR}
  PIDSI_LASTAUTHOR         = $00000008; // VT_LPSTR
  {$EXTERNALSYM PIDSI_REVNUMBER}
  PIDSI_REVNUMBER          = $00000009; // VT_LPSTR
  {$EXTERNALSYM PIDSI_EDITTIME}
  PIDSI_EDITTIME           = $0000000a; // VT_FILETIME (UTC)
  {$EXTERNALSYM PIDSI_LASTPRINTED}
  PIDSI_LASTPRINTED        = $0000000b; // VT_FILETIME (UTC)
  {$EXTERNALSYM PIDSI_CREATE_DTM}
  PIDSI_CREATE_DTM         = $0000000c; // VT_FILETIME (UTC)
  {$EXTERNALSYM PIDSI_LASTSAVE_DTM}
  PIDSI_LASTSAVE_DTM       = $0000000d; // VT_FILETIME (UTC)
  {$EXTERNALSYM PIDSI_PAGECOUNT}
  PIDSI_PAGECOUNT          = $0000000e; // VT_I4
  {$EXTERNALSYM PIDSI_WORDCOUNT}
  PIDSI_WORDCOUNT          = $0000000f; // VT_I4
  {$EXTERNALSYM PIDSI_CHARCOUNT}
  PIDSI_CHARCOUNT          = $00000010; // VT_I4
  {$EXTERNALSYM PIDSI_THUMBNAIL}
  PIDSI_THUMBNAIL          = $00000011; // VT_CF
  {$EXTERNALSYM PIDSI_APPNAME}
  PIDSI_APPNAME            = $00000012; // VT_LPSTR
  {$EXTERNALSYM PIDSI_DOC_SECURITY}
  PIDSI_DOC_SECURITY       = $00000013; // VT_I4
Lizbeth W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz