Zum Inhalt springen

Tcl/tk


ten13

Empfohlene Beiträge

So servus,

hab folgendes Problem :

Ich will mit TCL auf ein Word File zugreifen, es öffnen, was reinschreiben und es wieder schließen... Öffnen.. kein Problem, Speichern und schließen... Kein Problem... aber ich hab keinen Plan wie ich in das File reinschreiben kann...

Arbeite mit Hilfe von tcom!

Hier mal n Stück Quellcode :

#tcom packet wird benötigt

load tcom.dll

proc worddrucken {} {

set wordapplication [::tcom::ref createobject "Word.Application"]

$wordapplication Visible 0

set docs [$wordapplication Documents]

set doc [$docs Open "c:/StammNummernSuche.doc" [::tcom::na] [expr 0]]

#hier muss Text rein : D

#

#

$docs Save

#doc PrintOut [expr 1] [::tcom::na]

$wordapplication Quit

}

Hoffe mir kann jmd. helfen.

Vielen Dank im Voraus.

Ten13

Link zu diesem Kommentar
Auf anderen Seiten teilen

Suchst du sowas?

puts [-nonewline] [fileId] string

Schreibt einen String in den Standardausgabekanal oder bei Angabe der fileId in die entsprechende Datei.

Beispiel:

# Writing

set filename test.txt

set fh [open $filename "w"]

puts $fh "Holger Schmidt"

puts $fh "Astrid Meier"

puts $fh "Karl Mueller"

close $fh

Hier ist noch ein ganz nettes Tutorial, vielleicht hilft dir das auch weiter:

http://www.ti.uni-bielefeld.de/downloads/WS0405/tcltk/TclTkKurs2.pdf

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke erstmal für die Antwort, ist aber leider nicht das was ich suche.

So in eine Txt- File zu schreiben wär kein Problem aber ich muss direkt aber diese tcom Schnittstelle in Word schreiben.

mit Excel geht das so :

#tcom packet wird benötigt

load tcom.dll

set application [::tcom::ref createobject Excel.Application]

$application Visible 0

set workbooks [$application Workbooks]

set workbook [$workbooks Open "c:/StammNummernSuche.xls" [::tcom::na] [expr 0]]

set worksheets [$workbook Worksheets]

set worksheet [$worksheets Item [expr 1]]

set cells [$worksheet Cells]

$cells Item 4 B "VERTRAULICH"

$cells Item 5 B "$anrede"

$cells Item 6 B "$vorname $nachname"

$cells Item 7 B "$abteilung"

$cells Item 8 B ""

$workbook Save

$application Quit

Nur mit Word bekomme ich es nicht hin...

Link zu diesem Kommentar
Auf anderen Seiten teilen

@grueni: er will das ja über die automatisierungsschnittstelle (sprich, COM) machen und nicht in ein plaintext file schreiben.

@ten13: versuchs mal mit "$doc text", gefolgt vom gewünschten inhalt.

Insert text with formatting

$word -with selection.font : name "Courier New"

$word -with selection.font : size 10.0

$doc -with content : text "Text in Courier 10 point \r" ;# \r Return ???

ist zwar die implementierung mit optcl und nicht tcom, sollte aber abgesehen von ähnlicher syntax auf die gleiche COM-hierarchie zugreifen können.

s'Amstel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...