Seite 1 von 1

win32com + word

Verfasst: Dienstag 6. September 2005, 14:27
von Gast
Hallo,
ich schreibe gerade an einem Programm, dass karten ausdrucken soll, wo ein barcode drauf ist. dazu müsste ich 2 texte mit 2 verschiedenen fonts und größen einfügen, leider funktionierts nicht so ganz. Hoffe Ihr könnt mir helfen :)


Gruß
ein Python-Fan

Code: Alles auswählen

def Pass(c,v,n,j):
    code=barcode(c)
    word = win32com.client.Dispatch("Word.Application")
    word.Visible = 1
    doc=word.Documents.Add()
    doc.PageSetup.LeftMargin = 20
    doc.PageSetup.TopMargin = 20
    doc.PageSetup.BottomMargin = 20
    doc.PageSetup.RightMargin = 20
    doc.Content.Font.Name = 'Lucida Console'
    doc.Content.Font.Size = 9
    doc.Content.Text = '\n\n\n\n\n\n   '+ v +(14-len(v))*' '+ n +(15-len(n))*' '+ j
    doc.Content.Font.Name = 'Code EAN13'
    doc.Content.Font.Size = 52
    doc.Content.Text = '\n    '+str(code)
    hw=doc.Shapes
    hw.AddPicture('E:\\pass.gif')
    
ums zu testen müsste man es natürlich etwas ändern... :P

Edit (Leonidas): Code in Python-Tags gesetzt.

Verfasst: Dienstag 6. September 2005, 15:46
von N317V
Was ist denn nun Deine Frage?

Verfasst: Dienstag 6. September 2005, 16:55
von Gast
Wie kann ich 2 verschieden formatierte texte einfügen?

denn wenn man das so laufen lässt zeigt er nur den letzten text an. er überschreibt also den ersten text

Verfasst: Mittwoch 7. September 2005, 11:28
von N317V
Das ist ja eigentlich eine VisualBasic-Frage. Ein Möglichkeit wäre InsertAfter bzw. InsertParagraphAfter.

Also z.B. fügt doc.Content.InsertAfter('BlahBlubb') den String 'BlahBlubb' am Ende Deines Dokumentes ein.

Schau mal, ob Du eine Datei namens VBAWRD8.HLP (Word 97) im System findest. Dort ist sowas dokumentiert. (Wenn man die microsoftschen Ergüsse als Dokumentation bezeichnen will :roll: ) Die Zahl am Ende des Dateinamens hängt von Deiner Word-Version ab. Sieht man in den Eigenschaften der WINWORD.EXE.