AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Dateieigenschaften /Titel, Thema,...) von Office 2007ff lesen
Thema durchsuchen
Ansicht
Themen-Optionen

Dateieigenschaften /Titel, Thema,...) von Office 2007ff lesen

Ein Thema von norwegen60 · begonnen am 14. Sep 2014 · letzter Beitrag vom 30. Okt 2014
Antwort Antwort
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
529 Beiträge
 
Delphi 12 Athens
 
#1

AW: Dateieigenschaften /Titel, Thema,...) von Office 2007ff lesen

  Alt 12. Okt 2014, 20:25
Hallo,

der Unterschied zwischen Installation und Kopie war eigentlich nur der, dass bei Installation auch gleich die DsiFile.dll registriert wurde. Allerdings nur, wenn die Installation als Admin erfolgte.

Um sicherzugehen, dass docx sauber funktioniert, hatte ich bereits ein Dokument als DOC und als DOCX gespeichert. Hatte aber auch nichts gebracht. Die VB-Demos laufen bis jetzt nicht sauber.

Mein Problem mit Delphi habe ich aber lösen können. Bisher hatte ich die Properties mithilfe der Unit DSOleFile_TLB ausgelesen. Nachdem ich auf DsoFile_TLB umgestellt habe und dort noch die ClassID angepasst habe, funktioniert das Einlesen der Properties sowohl bei DOC als auch DOCX.

Danke und Grüße
Gerd
  Mit Zitat antworten Zitat
kompi

Registriert seit: 27. Apr 2012
Ort: Duisburg
59 Beiträge
 
Delphi 12 Athens
 
#2

AW: Dateieigenschaften /Titel, Thema,...) von Office 2007ff lesen

  Alt 30. Okt 2014, 20:45
Hallo norwegen60,

anbei Code mit VBA Excel 2010, der zeigt, wie man auf dsofile zugreift.

sub lesedir(adir As String)
Dim fs, f, fd, fe
Dim docliste
Dim i As Integer
Dim ws As Worksheet
Dim s, s1 As String
Dim actsheet As Worksheet
Dim objfile As DSOFile.OleDocumentProperties
Dim csum As DSOFile.SummaryProperties
Dim ks As String
Dim k As Integer
Set actsheet = ActiveSheet
Set fs = CreateObject("Scripting.Filesystemobject")
Set f = fs.getfolder(adir)
Set fd = f.Files
Set ws = Worksheets("Dokumente")
Set docliste = ws.Range("Dokumentenliste")
docliste.ClearContents
Set objfile = CreateObject("DSOFile.oledocumentproperties")
i = 1
Application.ScreenUpdating = False
ws.Select
For Each fe In fd
s = fe.Name
s1 = fe.Type
If InStr(1, s1, "Microsoft Word") > 0 Then
On Error GoTo weiter1
ks = Left(s, 3)
k = CInt(ks)
docliste(k, 2) = s
objfile.Open (adir & "\" & s)
Set csum = objfile.SummaryProperties
docliste(k, 1) = csum.Title
objfile.Close
i = i + 1
weiter1:
On Error GoTo 0
End If
Next fe
Set csum = Nothing
Set objfile = Nothing
Set docliste = Nothing
Set fd = Nothing
Set f = Nothing
Set fs = Nothing
actsheet.Select
Application.ScreenUpdating = True
End Sub

Ich hoffe, das hilft Dir Dein VB Problem auch noch zu lösen.

Im übrigen kann man dies genauso mit Delphi lösen. Man muss nicht umständlich eine .._tlb - Datei erstellen.

Gruß Kompi
Detlef Schmitz
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:09 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