2016年12月03日
pywinauto練習〜メモ帳で名前を付けて保存&Gist使ってみた〜
業務効率化したい。
何でも自動化して
(今のところ)自動化できないことに
時間を使いたい。
エクセルだろうがvbaだろうが
なんだって使ってやる。
pythonも戦力とするために
少しでも慣れようと思う。
pywinautoで前はCADソフトを起動して
名前を付けて保存していた。
それを違うソフトでやってみよう。
手始めはメモ帳である。
せっかくなので
ブログ記事内にソースコードを
埋め込むということにも挑戦したいと思う。
他のサイトでもよく見かける。
行番号付きでソースコードを見れる。
Gistというものが便利らしい。
Gistの使用やメモ帳の操作などなど
下記のサイトを参考にしてみた。
>林檎と珈琲 blogにソースコードを載せる(Gist編)
>http://akio-t.hatenablog.com/entry/2015/05/05/163032
>さよならストレス Python と pywinauto で Windows の GUI 操作を自動化する
>http://d.hatena.ne.jp/wwwcfe/20110317/pywinauto
>pywinauto Documentation Release 0.5.4
>https://media.readthedocs.org/pdf/pywinauto-docs/latest/pywinauto-docs.pdf
苦労した点は
「SetTextだと1行しか書けない。(上書きされる)」
ということ。
複数行書く方法が分からなかったので下記の方法をとった。
@SetTextで1行分書き込み、
Typekeysで{ENTER}を送ることで
改行した。
ATextBlockで今入力されている入力済テキスト({ENTER}含む)
を上書き前にtext2に格納し、
pos_end=text2部分でtext2の後ろに追記する形を取った。
時間のあるときに関数化しておきたい。
(12/6修正)
関数化した。
これで一応、GUIを操作して
文章をメモ帳に書き込んで
保存(上書き含め)はできるようになった。
現状の問題点としては、、
保存場所を指定したい。(パス)
.pyのある場所ではなく、最初にテキストファイルを保存した場所
に保存される。
これも勉強していけばすぐに解決されるだろう。
(12/6修正)
ファイル名の欄に
ファイルの絶対パスを打ち込むと
フォルダが存在する場合は指定フォルダに
保存できることが分かった。
(自分が気づいていないままこれまで生きてきただけなのだろう。。)
ただし、フォルダが存在しない場合はエラーになるので、
import osで
mkdirを使って
無いフォルダは作ってしまうことにした。
※参考にしたのは下記の2サイト。
>ファイルやディレクトリの有無を調べる
>http://www.gesource.jp/programming/python/code/0008.html
>ディレクトリを作成する
>http://www.gesource.jp/programming/python/code/0009.html
これでいかなる場合もどこのフォルダでもpywinautoで
GUIを操作してメモを保存できるようになった。
「pywinautoでGUIを操作して」
の部分が重要である。
あくまでGUIのメニューを自由自在に操作するのが
目標なのだから。
(単にテキストファイルを好きなフォルダに吐き出すだけなら
vbaでもpythonでも簡単である。)
さらに、実用性を考えて、
pythonのスクリプトファイルのある場所に
ファイルを保存も選べるようにした。
スクリプトファイルのあるフォルダの絶対パスの取得は
下記のサイトを参考にした。
>Python で スクリプトのファイルパス を 取得する基本コード (メモ)
>http://qiita.com/HirofumiYashima/items/fd8391d5cba1383da52e
pywinautoで「名前を付けて保存」ダイアログで
保存先フォルダを指定する、という内容を
書いたサイトが探しても探しても見つからなくて、、
諦めそうだったが、
結果的には単純な話だった。
スマートではないかもしれないが。
現状の問題点としては、、
続きとしては
メモ帳に書く文章も
配列(リスト)として関数に渡すようにしたい。
(12/7追記)
配列で関数に渡すように変更した。
メモ帳については
やりたいことはすべて完了した。
何でも自動化して
(今のところ)自動化できないことに
時間を使いたい。
エクセルだろうがvbaだろうが
なんだって使ってやる。
pythonも戦力とするために
少しでも慣れようと思う。
pywinautoで前はCADソフトを起動して
名前を付けて保存していた。
それを違うソフトでやってみよう。
手始めはメモ帳である。
せっかくなので
ブログ記事内にソースコードを
埋め込むということにも挑戦したいと思う。
他のサイトでもよく見かける。
行番号付きでソースコードを見れる。
Gistというものが便利らしい。
Gistの使用やメモ帳の操作などなど
下記のサイトを参考にしてみた。
>林檎と珈琲 blogにソースコードを載せる(Gist編)
>http://akio-t.hatenablog.com/entry/2015/05/05/163032
>さよならストレス Python と pywinauto で Windows の GUI 操作を自動化する
>http://d.hatena.ne.jp/wwwcfe/20110317/pywinauto
>pywinauto Documentation Release 0.5.4
>https://media.readthedocs.org/pdf/pywinauto-docs/latest/pywinauto-docs.pdf
苦労した点は
「SetTextだと1行しか書けない。(上書きされる)」
ということ。
複数行書く方法が分からなかったので下記の方法をとった。
@SetTextで1行分書き込み、
Typekeysで{ENTER}を送ることで
改行した。
ATextBlockで今入力されている入力済テキスト({ENTER}含む)
を上書き前にtext2に格納し、
pos_end=text2部分でtext2の後ろに追記する形を取った。
(12/6修正)
関数化した。
これで一応、GUIを操作して
文章をメモ帳に書き込んで
保存(上書き含め)はできるようになった。
保存場所を指定したい。(パス)
.pyのある場所ではなく、最初にテキストファイルを保存した場所
に保存される。
これも勉強していけばすぐに解決されるだろう。
(12/6修正)
ファイル名の欄に
ファイルの絶対パスを打ち込むと
フォルダが存在する場合は指定フォルダに
保存できることが分かった。
(自分が気づいていないままこれまで生きてきただけなのだろう。。)
ただし、フォルダが存在しない場合はエラーになるので、
import osで
mkdirを使って
無いフォルダは作ってしまうことにした。
※参考にしたのは下記の2サイト。
>ファイルやディレクトリの有無を調べる
>http://www.gesource.jp/programming/python/code/0008.html
>ディレクトリを作成する
>http://www.gesource.jp/programming/python/code/0009.html
これでいかなる場合もどこのフォルダでもpywinautoで
GUIを操作してメモを保存できるようになった。
「pywinautoでGUIを操作して」
の部分が重要である。
あくまでGUIのメニューを自由自在に操作するのが
目標なのだから。
(単にテキストファイルを好きなフォルダに吐き出すだけなら
vbaでもpythonでも簡単である。)
さらに、実用性を考えて、
pythonのスクリプトファイルのある場所に
ファイルを保存も選べるようにした。
スクリプトファイルのあるフォルダの絶対パスの取得は
下記のサイトを参考にした。
>Python で スクリプトのファイルパス を 取得する基本コード (メモ)
>http://qiita.com/HirofumiYashima/items/fd8391d5cba1383da52e
pywinautoで「名前を付けて保存」ダイアログで
保存先フォルダを指定する、という内容を
書いたサイトが探しても探しても見つからなくて、、
諦めそうだったが、
結果的には単純な話だった。
スマートではないかもしれないが。
続きとしては
メモ帳に書く文章も
配列(リスト)として関数に渡すようにしたい。
(12/7追記)
配列で関数に渡すように変更した。
メモ帳については
やりたいことはすべて完了した。
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/5682478
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック