In Word schreiben

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.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

In Word schreiben

Beitragvon Leonidas » Dienstag 31. August 2004, 14:15

Hallo!
ich habe folgende Frage: wie kann ich mit Python (mit pywin32/win32all) in ein laufendes Word (2003) in das aktuell geöffnete Dokument, beim Cursor irgendeinen Text reinschrieben?

grüße,
Leonidas
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Samstag 4. September 2004, 13:34

Okay, ich weis es jetzt:

Code: Alles auswählen

import win32com.client
word = win32com.client.Dispatch('Word.Application')
sel = word.Selection
sel.TypeText('Text')
My god, it's full of CARs! | Leonidasvoice vs Modvoice
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

Beitragvon DER Olf » Sonntag 5. September 2004, 10:06

hi leonidas,

paste doch, oder schreib nochmal mit ein paar erklärungen zu den snippets.
ist dann für andere (neue?) leichter zu finden.

mfg Olf
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Montag 6. September 2004, 08:38

Okay, dann werde ich es jetzt mal erklären:
Ich wollte in das aktuelle Word Dokument an der Cursorposition mit Python reinschreiben. Nun, da Word ein COM Server ist brauche ich ein COM Client modul. Also wird pywin32/win32all nötig sein.

Code: Alles auswählen

import win32com.client
word = win32com.client.Dispatch('Word.Application')
sel = word.Selection
sel.TypeText('Text')


In der ersten Zeile wird die COM Client Library importiert.
Dann stelle ich eine Verbindung zu Word her.
Als nächstes erstelle ich die Variabel sel die eigentlich die Cursorposition in Word (global, also nicht in den einzelnen Dokumenten, sondern in dem aktuellen Dokument) darstellt. Zuletzt benutze ich die TypeText methode des COM Objects, das den Text schreibt.
Nützlich hat sich die MSDN erwiesen, dort ist es aber für VBS/VBA.

grüße,
Leonidas
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: Google [Bot]