Hi, I'm trying to create a Python script using win32com that creates a Word 2003 document. This will become part of a little bigger script for work. After the document opens up, it is split into two columns, then text is pasted in, taking up both columns. After this is done, I'd like to move the insertion point to the end of that page.
Next, I'd like the script to insert a page break, so that a new page is added to the document, while still keeping the two column format applied, previously. Once this is done, text, again, will be pasted in afterwhich the entire document will be sent to any printer, depending on which is available at the time. After printing the pages, the document will be closed, without saving. I have some of the code down, but need the part that moves the insertion point to the end and inserts a new page as well as the function to print the file. Basically, this is what I have, most of which I gathered onlin: ************************************************* import win32com.client as win32 app = 'Word' word = win32.gencache.EnsureDispatch('%s.Application' % app) doc = word.Documents.Add() word.ActiveDocument.PageSetup.TextColumns.SetCount (2) word.Visible = True ## Code that pastes text into the document will go here. ************************************************* ## Code that moves insertion point to end of line goes here. ## Code that inserts a new page goes here. ************************************************* ## Code that pastes text into the document will go here. I've tried reading the Python win32com book, but did not find what I needed there, have been looking over The Net, but have had little luck in finding any resource that could help me. I've tried using VBA Macro Recorder to produce similar code in VBA but I get stuck when trying to port the code from VBA to Python. This is VBA Code from the Macro: ************************************************************** Sub Macro1() ' ' Macro1 Macro ' Macro recorded 7/7/2011 by Little Guy ' If ActiveWindow.View.SplitSpecial <> wdPaneNone Then ActiveWindow.Panes(2).Close End If If ActiveWindow.ActivePane.View.Type <> wdPrintView Then ActiveWindow.ActivePane.View.Type = wdPrintView End If With ActiveDocument.PageSetup.TextColumns .SetCount NumColumns:=2 .EvenlySpaced = True .LineBetween = False .Width = InchesToPoints(4.97) .Spacing = InchesToPoints(0.5) End With Selection.InsertBreak Type:=wdPageBreak If ActiveWindow.View.SplitSpecial <> wdPaneNone Then ActiveWindow.Panes(2).Close End If If ActiveWindow.ActivePane.View.Type <> wdPrintView Then ActiveWindow.ActivePane.View.Type = wdPrintView End If With ActiveDocument.PageSetup.TextColumns .SetCount NumColumns:=2 .EvenlySpaced = True .LineBetween = False .Width = InchesToPoints(4.97) .Spacing = InchesToPoints(0.5) End With End Sub ************************************************************** I've tried browsing Microsoft's COM Automation pages, but it feels like I'm looking for a needle in a hay stack, as the saying goes. I suppose I could code this functionality into a VBScript file and then call it from Python, but I'd, much, rather code everything in Python. Please excuse the long winded post, and thanks in advance for any assistance. Regards, Little Guy
_______________________________________________ python-win32 mailing list python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32