RSS category feeds

RSS site feeds

More related

Thanks to...

Home arrow Script Collection
Script Collection

Examples for automating Windows applications via the Microsoft Component Object Model (COM), Win32API, PythonCOM and other interesting Python modules. Mainly developed with the Python Windows Extensions from Marc Hammond.

If you want to post a script, article or news please use this link Post a Python script. Hint: For sytax highlighting place your code between the tags <pre> and </pre>

This section as RSS feed.



Automating Microsoft Powerpoint PDF Print E-mail
Microsoft Office
One more example how to automate Microsoft Powerpoint and printout a postscript file with a specified postscript printer (yes, more than one printers can be installed on the system).

Multithreadding:

Unlike Word and Excel Powerpoint can not run in multiple instances. If you want to use Powerpoint server based you must implement code to handle the Powerpoint processes.

How to call the function:

You simply call the function with the name of the Word file, Postscript file and the printername which you want to use.:

e.g.:
make_ps.powerpoint('c:\test\powerpointfilename.ppt', 'c:\test\psfilename.ps', 'My Postscript Printername')

The source code:

def powerpoint(powerpointfile, psfile, printer):
    pythoncom.CoInitializeEx(pythoncom.COINIT_APARTMENTTHREADED)
    myPowerpoint = win32com.client.DispatchEx('Powerpoint.Application')
    myPpt = myPowerpoint.Presentations.Open(powerpointfile, False, False, False)
    myPpt.PrintOptions.PrintInBackground = 0
    myPpt.PrintOptions.ActivePrinter = printer
    myPpt.Saved = 1
    myPpt.PrintOut(1, 5000, psfile, 0, False)
    myPpt.Close()
    #myPowerpoint.Quit()
    del myPpt
    #del myPowerpoint
    pythoncom.CoUninitialize()
 
Automating Microsoft Excel PDF Print E-mail
Microsoft Office

One more example how to automate Microsoft Excel and printout a postscript file with a specified postscript printer (yes more than one printer can be installed on the system).

But unlike Word you can not check the background printing status in Excel with the method "BackgroundPrintingStatus". This shouldn`t make problems. I didn`t found an afvantage of this feature.

Multi-Threadding:

Unlike Powerpoint Excel works in more than one instances.

How to call the function:

You simply call the function with the name of the Word file, Postscript file and the printername which you want to use.:

The source code:

def excel(excelfile, psfile, printer):
    pythoncom.CoInitializeEx(pythoncom.COINIT_APARTMENTTHREADED)
    myExcel = win32com.client.DispatchEx('Excel.Application')
    myExcel.Application.AskToUpdateLinks = 0
    Excel = myExcel.Workbooks.Open(excelfile, 0, False, 2)
    Excel.Saved = 1
    Excel.PrintOut(1, 5000, 1, False, printer, True, False, psfile)
    Excel.Close()
    myExcel.Quit()
    del myExcel
    del Excel
    pythoncom.CoUninitialize()
excel('c:/test/excelfilename.xls', 'c:/test/psfilename.ps', 'My Postscript Printername')
 
Automating Microsoft Word PDF Print E-mail
Microsoft Office
One small example how to automate Microsoft Word and printout a postscript file with a specified postscript printer (yes, more than one printers can be installed on the system).

Multithreadding:

Unlike Powerpoint Microsoft Word can run in multiple instances - If a program creates more Word processes you will see them in the task manager.

How to call the function:

You simply call the function with the name of the Word file, Postscript file and the printername which you want to use.:

eg. make_ps.word('c:\test\wordfilename.doc', 'c:\test\psfilename.ps', 'My Postscript Printername')

The source code:

import win32com.client, pythoncom, time
 
def word(wordfile, psfile, printer):
    pythoncom.CoInitializeEx(pythoncom.COINIT_APARTMENTTHREADED)
    myWord = win32com.client.DispatchEx('Word.Application')
    myWord.Application.ActivePrinter = printer
    myDoc = myWord.Documents.Open(wordfile, False, False, False)
    myDoc.Saved=1
    myWord.Application.NormalTemplate.Saved = 1
    myWord.PrintOut(True, False, 0, psfile)
    while myWord.BackgroundPrintingStatus > 0:
        time.sleep(0.1)
    myDoc.Close()
    myWord.Quit()
    del myDoc
    del myWord
    pythoncom.CoUninitialize()
 
Convert Favorites to Bookmarks.html PDF Print E-mail
Internet Explorer

This script is from Aaron Bradly and was published on his Blog. It converts all Favorites from Microsoft Internet Explorer XHTML-valid to Bookmarks.html. I changed it a bid, because no pipe exists on Windows.

 
#!/usr/bin/python
import os
import os.path
import sys
# the favorites folder of Windows
dir = u'C:\Dokumente und Einstellungen\your_userid\Favoriten'
files = os.listdir(dir)
bookmarks = open('bookmarks.html', 'w')
head = "Bookmarks"
#print header
bookmarks.write(head)
for file in files:
        if not file[-4:] == '.url':
                continue
        title = file[:-4]
        fn = os.path.join(dir, file)
        body = open(fn).readlines()
        for line in body:
                token = 'BASEURL='
                if line[:len(token)] == token:
                        url = line[len(token):].strip()
                        url = url.replace("&", "&")
                        url = url.replace("<", "<")
                        url = url.replace(">", ">")
                        title = title.replace("&", "&")
                        title = title.replace("<", "<")
                        title = title.replace(">", ">")
                        main= (u'%s
' % (url, title)).encode('u8', 'ignore')
                        bookmarks.write(main)
bookmarks.close()
 
Shellexecute - Printing with the default application PDF Print E-mail
Microsoft Windows

This script prints the file in the first argument with the windows default application.

Example:

If you save the code in the file print.py:

print.py test.doc -> Opens Microsoft Word (if it is installed) and prints the file test.py to the default printer.

print.py mytextfile.txt -> Same. But prints with Notepad

 
from win32api import ShellExecute
from sys import argv
 
ShellExecute(0, "print", argv[1], None, "", 1)
 
<< Start < Prev 11 12 13 14 15 16 17 18 19 Next > End >>

Results 81 - 85 of 95

Feedback

Comments

  • I tried this for outlook 2007 and it doesn't work, but python doesn't have an er... More...
  • I never understood why people don't include the import statements at the top of ... More...
  • Thanks friend! ;-) Work really apprecciated from italy! More...
  • y am I not being allowed to view more on catia scripts. More...
  • eval('item.%s' % attribute) should be written as getattr(item, attribute) More...

Login Form






Lost Password?
No account yet? Register

My prefered Python IDE

My prefered Python editor is Pyscripter from MMExperts. It is not only an editor. Pyscripter is a full Python IDE including (remote) debugging, a class browser, and all other nice helpers which a full featured IDE needs.

Do you have a script for me ?

Do you have an interesting Python script which does some really cool thing on Windows ? Please post them to this site. It`s very simple - simply copy&paste it to this form. No login is requiered.

Hint: For syntax highlighting and correct Python intendation place your code between html tags <pre> and </pre>.

My prefered web framework

My prefered web framework for developing web applications is Django. Django calls itself The web framework for perfectionists with deadlines. It is a really fast, scalable and (thanks Python) the sexiest web framework of the world.