From: Mark H. <mha...@us...> - 2007-03-26 05:45:22
|
Update of /cvsroot/py2exe/py2exe/py2exe/samples/pywin32/com_typelib/build_gen/word In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31295/com_typelib/build_gen/word Added Files: docmaker.py setup.py Log Message: Samples for the 'typelibs' support, including the new option of pre-generating a typelib and specifying the file as an input to py2exe --- NEW FILE: setup.py --- # Execute this as 'setup.py py2exe' to create a .exe from docmaker.py from distutils.core import setup import py2exe py2exe_options = dict( typelibs = [ # typelib for 'Word.Application.8' - execute # 'win32com/client/makepy.py -i' to find a typelib. ('{00020905-0000-0000-C000-000000000046}', 0, 8, 1), ] ) setup(name="SpamBayes", console=["docmaker.py"], options = {"py2exe" : py2exe_options}, ) --- NEW FILE: docmaker.py --- # A test program that generates a word document. import sys import os from win32com.client import gencache # When built with py2exe, it assumes 'Word.Application.9' is installed # on the machine performing the build. The typelibs from the local machine # will be used to generate makepy files, and those generated files will # be included in the py2exe library (generally in a .zip file) # The resulting application should run without referencing any typelibs on # the target system. # It will create a file: filename = os.path.abspath( os.path.join(os.path.dirname(sys.argv[0]), "output.doc")) word = gencache.EnsureDispatch("Word.Application.9") # For the sake of ensuring the correct module is used... mod = sys.modules[word.__module__] print "The module hosting the object is", mod word.Visible = 1 doc = word.Documents.Add() wrange = doc.Range() for i in range(10): wrange.InsertAfter("Hello from py2exe %d\n" % i) doc.SaveAs(filename) word.Quit() print "Done - saved to", os.path.abspath(filename) |