Difference between revisions of "Python COM Examples"
Jump to navigation
Jump to search
PeterHarding (talk | contribs) |
PeterHarding (talk | contribs) |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
=Examples= | |||
Here is a simple Python-based COM automation 'Hello World' script. | |||
<pre> | |||
import win32com.client | import win32com.client | ||
from win32com.client import constants as c | from win32com.client import constants as c | ||
| 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 18: | Line 18: | ||
excel.Quit() | excel.Quit() | ||
excel = None | excel = None | ||
</pre> | |||
This will create an Excel spreadsheet in the root C:\ drive, called 'simple_example.xls'. | |||
<pre> | |||
def index(): | def index(): | ||
import win32com.client | import win32com.client | ||
| Line 33: | Line 33: | ||
if __name__ == "__main__": | if __name__ == "__main__": | ||
print index() | print index() | ||
</pre> | |||
=COM Automation of Internet Explorer= | |||
A couple of examples using either a wait function or a simple sleep for synchronisation. | |||
<pre> | |||
from win32com.client import Dispatch | |||
import time | import time | ||
ie = Dispatch("InternetExplorer.Application") | ie = Dispatch("InternetExplorer.Application") | ||
ie.Navigate("https://secure.authorize.net/") | ie.Navigate("https://secure.authorize.net/") | ||
# ie.Visible = True | # ie.Visible = True | ||
time.sleep(1) | time.sleep(1) | ||
doc = ie.Document | doc = ie.Document | ||
print doc.body.innerHTML | print doc.body.innerHTML | ||
</pre> | |||
or with a wait function | or with a wait function | ||
<pre> | |||
from win32com.client import Dispatch | |||
import time | import time | ||
def wait(ie): | def wait(ie): | ||
| Line 76: | Line 68: | ||
while ie.Document.readyState != "complete": | while ie.Document.readyState != "complete": | ||
time.sleep(0.5) | time.sleep(0.5) | ||
ie = Dispatch("InternetExplorer.Application") | ie = Dispatch("InternetExplorer.Application") | ||
ie.Navigate("https://secure.authorize.net/") | ie.Navigate("https://secure.authorize.net/") | ||
# ie.Visible = True | # ie.Visible = True | ||
wait(ie) | wait(ie) | ||
doc = ie.Document | doc = ie.Document | ||
print doc.body.innerHTML | print doc.body.innerHTML | ||
</pre> | </pre> | ||
[[Category:Python]] | [[Category:Python]] | ||
[[Category: | [[Category:PyWin]] | ||
[[Category:Development]] | [[Category:Development]] | ||
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