Feldeigenschaften einer Word Datei lesen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Davidson_thr
User
Beiträge: 3
Registriert: Freitag 13. Dezember 2019, 15:48

Hallo zusammen,

versuche nun schon seit Tagen mit einem Python-Script Feldeigenschaften einer Word-Datei zu lesen.
Es soll bei doc und docx Dateien funktionieren. Ich weiß, dass diese bei z.B. QT funktioniert. Das öffnen funktioniert, aber irgendwie komme ich einfach nicht darauf, wei man Feldeigenschaften ausließt.

In Word kann man unter "Feld" StyleRef anlegen, die wiederrum auf eine Formatvorlagenname verweißt. Sozugen ein Inhalt. Und genau den muss ich auslesen.

Ich hoffe wirklich sehr, das ihr mir weiterhelfen könnt. Das Modul docx von Python fällt aus, da es nicht doc-Dateien lesen kann.

Ich dachte, dass es irgendwie mit den CustomDocumentProperties zu tun hat. In meinem Word gibt es einen Verweis Sachnummer, der soll es sein.

Bild

Hier schon mal mein Anfang:

Code: Alles auswählen

import win32com.client as win32

word = win32.Dispatch("Word.Application")
word.Visible = 0
doc = word.Documents.Open("E:\Projekte\testdokument.doc")

doc = word.ActiveDocument

csp= doc.CustomDocumentProperties('sachnummer').value
print('property is %s' % csp)


doc.Saved= False
doc.Save()
doc.Close()

word.Quit()
Benutzeravatar
__blackjack__
User
Beiträge: 14078
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Davidson_thr: Das wird so nicht funktionieren, es sei denn, Du hast tatsächlich eine Datei deren Name mit einem Tabulatorzeichen beginnt.

Den ``%``-Operator für Zeichenkettenformatierung würde man in neuem Code eher nicht mehr verwenden. Es gibt die `format()`-Methode und f-Zeichenkettenliterale. Und im Fall von `print()` hätte man hier auch einfach zwei Argumente verwenden können, ohne das in eine Zeichenkette zu formatieren.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Davidson_thr
User
Beiträge: 3
Registriert: Freitag 13. Dezember 2019, 15:48

Danke für den Hinweis. Die Formatierung kann ich erstmal entfernen. Das spielt keine Rolle. Aber würde das generell mit dem "sp= doc.CustomDocumentProperties('sachnummer').value" funktionieren, oder muss man anders an die Sache ran gehen?
Davidson_thr
User
Beiträge: 3
Registriert: Freitag 13. Dezember 2019, 15:48

Hat nicht jemand eine Idee?
Antworten