目次
Python Win32 Extensions
Links
- Official
- Quick Start
- Win32 COM開発
- http://msdn.microsoft.com/ja-jp/library/aa139672.aspx
- スクリプトを使用した Windows Server 管理の自動化
- MSDN Library Scripting
- Windows Scripting Host のオブジェクト
COM オブジェクトをPythonから利用する
はじめに
- Excelを立ち上げてワークブックを追加してセルにHello.
>>> import win32com.client >>> o = win32com.client.Dispatch("Excel.Application") >>> o.Visible = 1 >>> o.Workbooks.Add() <COMObject Add> >>> o.Cells(1,1).Value = "Hello"
COM の仕様を確認する方法
COM と Windows レジストリ
- 以下はShell.Application のCLSID
以下のようにプログラム名から、間接的にCLSIDを取得できる。
- HKEY_CLASSES_ROOT\Shell.Application
Shell.Application の使用例
- Shell.Application SetTime()を呼び出す。日付と時刻のプロパティをを表示
>>> import win32com.client >>> sh = win32com.client.Dispatch('Shell.Application') >>> sh.SetTime()
OLE/COM Object Viewer で、COMの仕様を確認する
- Download : OLE/COM Object Viewer
- Windows SDK に含まれる IViewer.dll が必要。
- Shell.Application の内容を確認してみる
- Visual Studio の同梱されている
- Type Libraries から・・・
- Microsoft Shell Controls And Automation を選択して、Viewアイコンもしくはダブルクリック
- CoClasses から、Shell を探すと、Methods の中に、SetTimeが見つかる
- ファイルを開くから、上記レジストリエディタで確認した SHELL32.DLL を選択しても起動する。
- SetTimeを選択すると、Help と シグネチャが確認できる。
Visual Basic Editor のオブジェクトブラウザで 確認
- ツール − マクロ − Visual Basic Editor
- Visual Basic Editor から 参照設定ダイアログを起動する
- ツール − 参照設定
- Microsoft Shell Controls And Automation をチェックして、OK
- 表示 − オブジェクトブラウザを起動
- Shell − SetTime で内容を確認
例
[WshShell]
WScript.Network
プリンタを列挙
- WshNetwork の EnumPrinterConnections を呼び出してみる
- 結果が、WshCollection で返る
- 実行
>>> import win32com.client >>> wsh = win32com.client.Dispatch('WScript.Network') >>> printers = wsh.EnumPrinterConnections() >>> for i in range(0, printers.Count(), 1): ... print printers[i] ... XPSPort: Microsoft XPS Document Writer Journal Note Writer Port: Journal ノート ライタ BULLZIP Bullzip PDF Printer USB001 \\Izanami\Canon MP500 Series Printer NEWSOFT \\Izanami\PageManager PDF Writer
YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto
Copyright© 矢木 浩人 All Rights Reserved.