Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Dateieigenschaften lesen und schreiben
zurück: Änderungen protokollieren weiter: Addin nur in bestimmten Mappen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Information Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Isabelle :-)
Menschin


Verfasst am:
17. Mai 2013, 21:44
Rufname:
Wohnort: Westlicher Spiralarm der Galaxis


Dateieigenschaften lesen und schreiben - Dateieigenschaften lesen und schreiben

Nach oben
       Version: Office 2k (2000)

Hallöchen,

Microsoft bietet eine DLL an, mit welcher Eigenschaften von Office-Dokumenten gelesen und manche auch geändert werden können. Die Installationsroutine der DLL kann hier heruntergeladen werde.

http://www.microsoft.com/en-us/download/details.aspx?id=8422

Hier eine Liste der Eigenschaften:

Name der EigenschaftDatentypZugriff
ApplicationNameStringSchreibgeschützt
AuthorStringÄnderbar
ByteCountLongSchreibgeschützt
CategoryStringÄnderbar
CharacterCountLongSchreibgeschützt
CharacterCountWithSpacesLongSchreibgeschützt
CommentsStringÄnderbar
CompanyStringÄnderbar
DateCreatedVariant/DateSchreibgeschützt
DateLastPrintedVariant/DateSchreibgeschützt
DateLastSavedVariant/DateSchreibgeschützt
DigitalSignatureVariant/DateSchreibgeschützt
DocumentSecurityLongSchreibgeschützt
HiddenSlideCountLongSchreibgeschützt
KeywordsStringÄnderbar
LastSavedByStringÄnderbar
LineCountLongSchreibgeschützt
ManagerStringÄnderbar
MultimediaClipCountLongSchreibgeschützt
NoteCountLongSchreibgeschützt
PageCountLongSchreibgeschützt
ParagraphCountLongSchreibgeschützt
PresentationFormatStringSchreibgeschützt
RevisionNumberStringSchreibgeschützt
SharedDocumentBooleanSchreibgeschützt
SlideCountLongSchreibgeschützt
SubjectStringÄnderbar
TemplateStringSchreibgeschützt
ThumbnailVariant/ObjectSchreibgeschützt
TitleStringÄnderbar
TotalEditTimeLongSchreibgeschützt
VersionStringSchreibgeschützt
WordCountLongSchreibgeschützt


Und hier ein kleines Beispiel wie das Ganze funktioniert:

Code:
Option Explicit

Public Sub Change_Document_Property()

    Dim objDSOFile As Object

    'Fehlerbehandlung initialisieren
    On Error GoTo err_exit

    'DSOFile-Objekt erzeugen
    Set objDSOFile = CreateObject("DSOFile.OleDocumentProperties")

    'Datei oeffnen
    Call objDSOFile.Open(sFilename:="D:\Mappe1.xlsm", _
        ReadOnly:=False, Options:=dsoOptionDefault)

    'Eigenschaft "Zuletzt gespeichert von" schreiben
    objDSOFile.SummaryProperties.LastSavedBy = "Isi"

    'Datei mit geaenderter Eigenschaft speichern
    Call objDSOFile.Close(SaveBeforeClose:=True)

sub_exit:

    'Objekt zuruecksetzen
    Set objDSOFile = Nothing

    Exit Sub

err_exit:

    'Fehlerausgabe
    Call MsgBox("Fehler: " & CStr(Err.Number) & vbLf & _
        vbLf & Err.Description, vbCritical, "Programmabbruch")

    Resume sub_exit

End Sub

Damit lassen sich nicht nur die eingebauten (SummaryProperties) Dateieigenschaften sondern auch die benutzerdefinierten (CustomProperties) auslesen. Die benutzerdefinierten Eigenschaften sind alle änderbar.

So kannst du dir die benutzerdefinierte Eigenschaften ausgeben lassen:

Code:
Option Explicit

Private Enum DSO_PROPERYTYPE
    dsoPropertyTypeUnknown
    dsoPropertyTypeString
    dsoPropertyTypeLong
    dsoPropertyTypeDouble
    dsoPropertyTypeBool
    dsoPropertyTypeDate
End Enum

Public Sub List_Document_Property()

    Dim objDSOFile As Object
    Dim lngIndex As Long

    'Fehlerbehandlung initialisieren
    On Error GoTo err_exit

    'DSOFile-Objekt erzeugen
    Set objDSOFile = CreateObject("DSOFile.OleDocumentProperties")

    With objDSOFile

        'Datei oeffnen
        Call .Open(sFilename:="D:\Mappe1.xlsm", _
            ReadOnly:=False, Options:=dsoOptionDefault)

        'Benutzerdefinierte Eigenschaften im Direktfenster ausgeben
        For lngIndex = 0 To .CustomProperties.Count - 1

            With .CustomProperties(lngIndex)

                Debug.Print .Name, PropertyType(.Type), .Value

            End With
        Next

        'Datei mit geaenderter Eigenschaft speichern
        Call .Close(SaveBeforeClose:=True)

    End With

sub_exit:

    'Objekt zuruecksetzen
    Set objDSOFile = Nothing

    Exit Sub

err_exit:

    'Fehlerausgabe
    Call MsgBox("Fehler: " & CStr(Err.Number) & vbLf & _
        vbLf & Err.Description, vbCritical, "Programmabbruch")

    Resume sub_exit

End Sub

Private Function PropertyType(ByRef prlngVarType As DSO_PROPERYTYPE) As String
    Select Case prlngVarType
        Case dsoPropertyTypeUnknown
            PropertyType = "Unknown"
        Case dsoPropertyTypeString
            PropertyType = "String"
        Case dsoPropertyTypeLong
            PropertyType = "Long"
        Case dsoPropertyTypeDouble
            PropertyType = "Double"
        Case dsoPropertyTypeBool
            PropertyType = "Boolean"
        Case dsoPropertyTypeDate
            PropertyType = "Date"
    End Select
End Function

_________________
LG Isi

Die Mitgliedschaft im Forum erhöht deine Chance auf eine Antwort von mir um 99,999%
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Einträge nacheinander schreiben ( ohne leere Zellen) 2 Smartie256 308 08. Sep 2009, 13:40
Smartie256 Einträge nacheinander schreiben ( ohne leere Zellen)
Keine neuen Beiträge Excel Formeln: Formel kürzer schreiben 2 Gill Bates 491 23. Jul 2009, 07:15
Gill Bates Formel kürzer schreiben
Keine neuen Beiträge Excel Formeln: jeden zweiten Wert aus Tabelle in eine neue schreiben 1 rogreb 2118 14. Jun 2009, 17:27
shift-del jeden zweiten Wert aus Tabelle in eine neue schreiben
Keine neuen Beiträge Excel Formeln: Bestimmte Wörter aus Zelle lesen und in neue Schreiben 6 Aschoff 1199 24. Feb 2009, 14:59
Kimba Bestimmte Wörter aus Zelle lesen und in neue Schreiben
Keine neuen Beiträge Excel Formeln: Bereiche der Matrix ändern?? Bitte Lesen, bin verzweifelt.. 3 Gast2804 3096 12. Jan 2009, 16:18
< Peter > Bereiche der Matrix ändern?? Bitte Lesen, bin verzweifelt..
Keine neuen Beiträge Excel Formeln: Fehler beim Schreiben von Formel in Excel Zelle (VBA) 2 bernde 1602 19. Nov 2008, 09:39
bernde Fehler beim Schreiben von Formel in Excel Zelle (VBA)
Keine neuen Beiträge Excel Formeln: EAN Barcode lesen mit Sverweis 9 chrisbln 4159 11. Aug 2008, 17:12
chrisbln EAN Barcode  lesen mit Sverweis
Keine neuen Beiträge Excel Formeln: Mit Wenn-Formel in andere Zellen schreiben 5 Tim Z 386 05. Jun 2008, 15:52
Gast Mit Wenn-Formel in andere Zellen schreiben
Keine neuen Beiträge Excel Formeln: Teilbereiche aus Zelle in andere Zelle schreiben 2 GHK1971 2341 27. Mai 2008, 09:47
GHK1971 Teilbereiche aus Zelle in andere Zelle schreiben
Keine neuen Beiträge Excel Formeln: Excel VBA Formel in Feld schreiben 2 Holger123 1423 30. März 2008, 20:51
Holger123 Excel VBA Formel in Feld schreiben
Keine neuen Beiträge Excel Formeln: Zahlen aus textfeld lesen und addieren, wenn.... 9 Asterixx 2119 27. März 2008, 12:12
Asterixx Zahlen aus textfeld lesen und addieren, wenn....
Keine neuen Beiträge Excel Formeln: Blattnamen aus Zelle lesen 2 peterGs 2220 11. Jul 2007, 17:18
peterGs Blattnamen aus Zelle lesen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: MS Frontpage