3268166 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

傀儡師の館.Python

傀儡師の館.Python

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

Recent Posts

Calendar

Keyword Search

▼キーワード検索

Category

Archives

2023.11
2023.10
2023.09
2023.08
2023.07

Freepage List

Profile

kugutsushi

kugutsushi

Free Space

設定されていません。
2007.04.10
XML
カテゴリ:Python
Python Win32 Automation を見てみる。GUI アプリケーションを Python からコントロールできるようなもの。例えば、Notepad を開いて閉じる、なんていうのも、

import pywinauto.application
app = pywinauto.application.Application().start_("notepad")
app.notepad.TypeKeys("%FX")

のようにすればできる。

昔、Scriplayer というソフトがあって、GUI ベース操作を記録して、同じ操作を何回でもできるようなものがあったなぁ。あれはあれで便利であった。

win32com を使えば、PythonでExcelの初歩的な操作 みたいなことができるのは分かっているのだが、COM の知識がなくても、キーボードの操作が分かっていれば使えちゃうと便利だなと思って試してみた。が、日本語だとちと問題がある。

例えば、

app.Notepad.MenuSelect("File->SaveAs")
app.SaveAs.ComboBox5.Select("UTF-8")
app.SaveAs.edit1.SetText("Example-utf8.txt")
app.SaveAs.Save.Click()

のようなコードは動かない。

app.Notepad.MenuSelect(u"ファイル->名前を付けて保存")

のようにしなければいけない。まあ、この方がメニューそのままで都合が良いわけだが。その後が問題。app.SaveAs.ComboBox5.Select("UTF-8") を実行したところで次のようにエラーになってしまう。

pywinauto.findbestmatch.MatchError: Could not find 'SaveAs' in '[u'\u540d\u524d\
u3092\u4ed8\u3051\u3066\u4fdd\u5b58', u'\u540d\u524d\u3092\u4ed8\u3051\u3066\u4f
dd\u5b58Dialog', 'Dialog']'

まじめにハックすれば使えるようにできそうな気もするが、今、特に使う用途もないので、止めておく。どういうオチなんだ。

いや、こうやって書いておけば誰か、解決方法を見つけてくれるかなとか。他力本願か!








お気に入りの記事を「いいね!」で応援しよう

Last updated  2007.04.11 04:23:07
コメント(0) | コメントを書く



© Rakuten Group, Inc.