vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Dateieigenschaften von docx mit dsofile auslesen 
Autor: -Franky-
Datum: 24.04.22 19:11

Hi
Zitat:

woher SHGetPropertyStoreFormParsingName eigentlich weiß, dass alle Eigenschaften zurückgeben soll

Die API erstellt einen PropertyStore (grob übersetzt einen Eigenschaftenspeicher) von der Datei/Ordner/Laufwerk usw. Der Rest ist Hardcodiert wie das Ermitteln der Anzahl vorhandener Eigenschaften die Ausgelesen werden können und erstellt intern ein Array mit den Eigenschaften/PROPERTYKEYS (je nach Flag).
Zitat:

In der jetzigen Routine sind der fmtid und pid ja die Werte vom Eigenschaftenarray (oder seh ich das falsch)

Siehst Du schon richtig. Nur das Du dem PropertyStore ja sagst, gib mir von einem bestimmten Index aus dem Eigenschaftenarray den PROPERTYKEY (PropertyStore_GetAt) und diesen übergibst Du wieder um dann die Werte auszulesen (PropertyStore_GetValue). Wie geschrieben, wenn Du die Werte kennst, brauchst Du diese Schleife nicht und kannst den PROPERTYKEY (fmtid/pid) direkt an PropertyStore_GetValue übergeben. In meinem Code hab ich doch entsprechendes per Debug.Print ausgeben lassen. Inkl. dem CanonicalName. Da gibt es also schon Möglichkeiten zu sagen, wenn die fmtid/pid = xyz ist, oder der CanonicalName = "abc" ist, dann hast Deine gesuchte Eigenschaft, zb den Autor, gefunden und kannst aus der Schleife raus.

Was Du noch machen könntest. Du könntest den PROPERTYKEY, der Dir von PropertyStore_GetAt geliefert wird, per API PSGetNameFromPropertyKey den CanonicalName geben lassen und mit dem dazu ausgelesenen Wert weist Du dann schon was der Autor, die Anzahl der Seiten, Wörter usw ist. Außerdem erkennt man ja auch schon am CanonicalName was dieser machen soll. Das was Du an CanonicalNames benötigst, merkst Dir einfach in irgendeiner Form die Du später wieder verwenden kannst. zb einen String-Array und einer Enum mit Index auf das String-Array fest im Code hinterlegt.

Wenn Du zb. nur den Autor dann auslesen möchtest, nimmst Dir den Index aus der Enum, schaust in das String-Array welcher CanonicalName am Index hinterlegt ist und übergibst diesen an die API PSGetPropertyKeyFromName der Dir dann den PROPERTYKEY liefert und diesen kannst dann wieder an PropertyStore_GetValue übergeben.

So allgemeine Listen für den PROPERTYKEY gibt es schon. Aber die sind so umfangreich und riesig. Mit meiner Methode kannst ja von allen Dateien, Ordner, Laufwerke usw diverse Eigenschaften ausgelesen. Diese Eigenschaften sind dann auch nochmal unterteilt in allgemeine Windows-Eigenschaften, Eigenschaften die zb nur Audio- oder Video-Dateien besitzen, Eigenschaften die zb nur Worddokumente besitzen usw. Da kannst Dir also Vorstellen wie groß diese Listen sind. Diese Findet man auch im Internet. Aber glaub mir, damit möchtest Du nicht arbeiten.

Mit freundlichen Grüßen
-Franky-

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Dateieigenschaften von docx mit dsofile auslesen917Nobbi6208.03.22 19:07
Re: Dateieigenschaften von docx mit dsofile auslesen498-Franky-10.03.22 11:45
Re: Dateieigenschaften von docx mit dsofile auslesen437Nobbi6210.03.22 15:31
Re: Dateieigenschaften von docx mit dsofile auslesen428-Franky-10.03.22 16:26
Re: Dateieigenschaften von docx mit dsofile auslesen474Nobbi6222.04.22 10:49
Re: Dateieigenschaften von docx mit dsofile auslesen400-Franky-22.04.22 15:30
Re: Dateieigenschaften von docx mit dsofile auslesen332Nobbi6224.04.22 12:52
Re: Dateieigenschaften von docx mit dsofile auslesen579-Franky-24.04.22 19:11
Re: Dateieigenschaften von docx mit dsofile auslesen511Nobbi6226.04.22 08:21
Re: Dateieigenschaften von docx mit dsofile auslesen325-Franky-27.04.22 13:42
Re: Dateieigenschaften von docx mit dsofile auslesen369Nobbi6227.04.22 15:11

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel