広告

posted by fanblog

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を操作して
文章をメモ帳に書き込んで
保存(上書き含め)はできるようになった。

notepadsav01.JPG

現状の問題点としては、、

保存場所を指定したい。(パス)
.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追記)
配列で関数に渡すように変更した。
メモ帳については
やりたいことはすべて完了した。


posted by iyoder at 21:52 | Comment(0) | TrackBack(0) | プログラム
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
http://fanblogs.jp/tb/5682478
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
最新記事
<< 2018年12月 >>
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
カテゴリーアーカイブ
ファン
プロフィール
最新コメント
×

この広告は30日以上新しい記事の更新がないブログに表示されております。