Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Dateiinformationen aus Word und Excel-Dateien (https://www.delphipraxis.net/21119-dateiinformationen-aus-word-und-excel-dateien.html)

haef 28. Apr 2004 08:59


Dateiinformationen aus Word und Excel-Dateien
 
Hi Leute,

wie kann ich die Datei-Info aus Word und/oder Excel-Dateien auslesen? Ich hab schon verschiedene Beiträge durchgeforstet, aber immer wieder den Hinweis gefunden, dass das nur bei NTFS-Dateisystem und nicht-Office-Dateien funzt. Muss ich da jeweils Word und Excel bemühen, um an Infos wie Kommentar, Titel und Author zu kommen :?:

MathiasSimmack 28. Apr 2004 09:23

Re: Dateiinformationen aus Word und Excel-Dateien
 
Ich würde dich einfach mal an diesen Beitrag verweisen. Ich meine, Autor und Titel von DOC-Dateien sehe ich ja unter 98 auch. Musst mal schauen ob du mit der Unit im vorletzten Beitrag was anfangen kannst.

haef 28. Apr 2004 11:13

Re: Dateiinformationen aus Word und Excel-Dateien
 
Hab ich schon gesehen und ausprobiert. In der ersten Fassung kam immer eine OLE-Exception, mit der storage.pas von dir erhalte ich nur einen leeren String, obwohl ich im Kommentar zum Testen was reingeschrieben habe.

MathiasSimmack 28. Apr 2004 11:22

Re: Dateiinformationen aus Word und Excel-Dateien
 
Hm, das habe ich befürchtet. :(
Ich guck mal ins PSDK, vielleicht steht da ja noch extra was zu DOC- u.ä. Dateien.

Kannst du ja auch mal machen: [msdn]"IPropertySetStorage"[/msdn], [msdn]"IPropertyStorage"[/msdn]. Und dann einfach in den Themengebieten blättern.

MathiasSimmack 28. Apr 2004 12:30

Re: Dateiinformationen aus Word und Excel-Dateien
 
Problem gelöst -

Schau mal bitte in die Funktion "GetFileSummaryInfo" in meiner "storage.pas"-Unit. Da steht eine Zeile:
Delphi-Quellcode:
  if(StgOpenStorageEx(pwidechar(FileName),STGM_READ or STGM_SHARE_DENY_WRITE,
    STGFMT_FILE,0,nil,nil,@IID_IPropertySetStorage,Stg) = S_OK) then
Wenn du STGFMT_FILE durch STGFMT_ANY ersetzt, kommst du auch an die Infos von Office-Dateien ran, die nicht auf NTFS-Partitionen liegen. ;)


PS: Bitte auf die Kategorie (ich nenn´s mal so!) achten:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  dummy : string;
begin
  dummy := GetFileSummaryInfo(
    'd:\Ordner_auf_FAT32_Partition\Datei.doc',
    FMTID_SummaryInformation,   // <-- normale Info
    PIDSI_AUTHOR);
  ShowMessage(dummy);

  dummy := GetFileSummaryInfo(
    'd:\Ordner_auf_FAT32_Partition\Datei.doc',
    FMTID_DocSummaryInformation, // <-- spezielle Office-Info
    PIDDSI_COMPANY);
  ShowMessage(dummy);
end;
Wollte ich nur anmerken.

haef 28. Apr 2004 14:45

Re: Dateiinformationen aus Word und Excel-Dateien
 
Super, das war genau das, was noch gefehlt hat ... neben der Tatsache, dass ich nur den "nackten" Dateinamen ohne Pfad übergeben habe... :wall:

Danke für deine schnelle Hilfe!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz