「Python Win32 Extensions」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「==Python Win32 Extensions== [Python][COM] ===Links=== =====Official===== *http://python.net/crew/skippy/win32/Downloads.html *http://sourceforge.net/projects/pywin32…」) |
|||
1行目: | 1行目: | ||
==Python Win32 Extensions== | ==Python Win32 Extensions== | ||
− | [Python][COM] | + | [[Python][COM]] |
===Links=== | ===Links=== | ||
=====Official===== | =====Official===== | ||
15行目: | 15行目: | ||
===はじめに=== | ===はじめに=== | ||
*Excelを立ち上げてワークブックを追加してセルにHello. | *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 の仕様を確認する方法== | ||
37行目: | 37行目: | ||
====Shell.Application の使用例==== | ====Shell.Application の使用例==== | ||
*Shell.Application SetTime()を呼び出す。日付と時刻のプロパティをを表示 | *Shell.Application SetTime()を呼び出す。日付と時刻のプロパティをを表示 | ||
− | + | >>> import win32com.client | |
− | + | >>> sh = win32com.client.Dispatch('Shell.Application') | |
− | + | >>> sh.SetTime() | |
[[File:1069_py_win32com03.jpg]] | [[File:1069_py_win32com03.jpg]] | ||
74行目: | 74行目: | ||
==例== | ==例== | ||
− | [WshShell] | + | [[WshShell]] |
===WScript.Network=== | ===WScript.Network=== | ||
====プリンタを列挙==== | ====プリンタを列挙==== | ||
84行目: | 84行目: | ||
[[File:1065_py_win32com_wsh_net03.jpg]] | [[File:1065_py_win32com_wsh_net03.jpg]] | ||
=====実行===== | =====実行===== | ||
− | + | >>> import win32com.client | |
− | + | >>> wsh = win32com.client.Dispatch('WScript.Network') | |
− | + | >>> printers = wsh.EnumPrinterConnections() | |
− | + | >>> for i in range(0, printers.Count(), 1): | |
... print printers[i] | ... print printers[i] | ||
... | ... |
2020年2月15日 (土) 08:05時点における版
目次
Python Win32 Extensions
[[Python][COM]]
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 レジストリ
- COMコンポーネントは、DLLかEXE
- COMは、レジストリから、CLSIDを参照することで、ディスク上からコンポーネントを探し出す。
- 以下はShell.Application のCLSID
以下のようにプログラム名から、間接的にCLSIDを取得できる。
レジストリ HKEY_CLASSES_ROOT 以下に登録されている、Shell.Application を Python から 利用してみる
- 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 のオブジェクトブラウザで 確認
Excel の Visual Basic Editor から上記 OLE/COM Object Viewer で確認したのと同様の内容を確認
- ツール - マクロ - Visual Basic Editor
Visual Basic Editor から 参照設定ダイアログを起動する
- ツール - 参照設定
Microsoft Shell Controls And Automation をチェックして、OK
表示 - オブジェクトブラウザを起動
Shell - SetTime で内容を確認
例
WScript.Network
プリンタを列挙
WScript.Network で、呼び出されるCOM
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
© 2006 矢木浩人