Difference between revisions of "Python COM Examples"
Jump to navigation
Jump to search
PeterHarding (talk | contribs) |
PeterHarding (talk | contribs) |
||
| Line 1: | Line 1: | ||
=Examples= | =Examples= | ||
Here is a simple Python-based COM automation 'Hello World' script. | |||
<pre> | <pre> | ||
| Line 12: | Line 12: | ||
sheet.Range("A1").Value = "Hello World!" | sheet.Range("A1").Value = "Hello World!" | ||
sheet.Range("A2").Value = str(Application.SIFilter(None, c.siObjectFilter)) | sheet.Range("A2").Value = str(Application.SIFilter(None, c.siObjectFilter)) | ||
book.SaveAs("c:\ | book.SaveAs("c:\simple_example.xls") | ||
sheet = None | sheet = None | ||
| Line 20: | Line 20: | ||
</pre> | </pre> | ||
This will create an Excel spreadsheet in the root C:\ drive, called 'simple_example.xls'. | |||
<pre> | <pre> | ||
| Line 36: | Line 36: | ||
=COM Automation of Internet Explorer= | |||
A couple of examples using either a wait function or a simple sleep for synchronisation. | |||
either | |||
<pre> | <pre> | ||
from win32com.client import Dispatch | |||
import time | import time | ||
| Line 62: | Line 60: | ||
<pre> | <pre> | ||
from win32com.client import Dispatch | from win32com.client import Dispatch | ||
import time | import time | ||
Latest revision as of 12:37, 14 December 2009
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