ten13 Geschrieben 23. August 2006 Geschrieben 23. August 2006 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
grueni Geschrieben 23. August 2006 Geschrieben 23. August 2006 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
ten13 Geschrieben 23. August 2006 Autor Geschrieben 23. August 2006 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...
Amstelchen Geschrieben 23. August 2006 Geschrieben 23. August 2006 @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
ten13 Geschrieben 24. August 2006 Autor Geschrieben 24. August 2006 Hi danke auch Dir, hab diese Seite auch schon im Netz gefunden, hab so ziehmlich alle seiten die google ausgespuckt hat gelsen aber keine konnte mir helfen...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden