Python COM Examples

From PeformIQ Upgrade
Revision as of 12:37, 14 December 2009 by PeterHarding (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Examples

Here is a simple Python-based COM automation 'Hello World' script.

import win32com.client
from win32com.client import constants as c

excel = win32com.client.Dispatch("Excel.Application")
book = excel.Workbooks.Add()
sheet = book.Worksheets(1)
sheet.Range("A1").Value = "Hello World!"
sheet.Range("A2").Value = str(Application.SIFilter(None, c.siObjectFilter))
book.SaveAs("c:\simple_example.xls")

sheet = None
book = None
excel.Quit()
excel = None

This will create an Excel spreadsheet in the root C:\ drive, called 'simple_example.xls'.

def index():
	import win32com.client
	a=win32com.client.Dispatch('Excel.Application')
	a.Visible = 1
	a.Workbooks.Add()
	a.ActiveSheet.Cells(1,1).Value = 'aha'
	return "aha"

if __name__ == "__main__":
	print index()


COM Automation of Internet Explorer

A couple of examples using either a wait function or a simple sleep for synchronisation.

from win32com.client import Dispatch 

import time 

ie = Dispatch("InternetExplorer.Application") 

ie.Navigate("https://secure.authorize.net/") 
# ie.Visible = True 

time.sleep(1) 
doc = ie.Document 

print doc.body.innerHTML 

or with a wait function

from win32com.client import Dispatch 

import time 

def wait(ie): 
    while ie.Busy: 
        time.sleep(0.5) 
    while ie.Document.readyState != "complete": 
        time.sleep(0.5) 

ie = Dispatch("InternetExplorer.Application") 

ie.Navigate("https://secure.authorize.net/") 
# ie.Visible = True 

wait(ie) 

doc = ie.Document 

print doc.body.innerHTML