Python COM Examples
Revision as of 12:37, 14 December 2009 by PeterHarding (talk | contribs)
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