IT仕事

Cliborのマクロでウィンドウ操作&コピペを楽にする

投稿日:2018年2月23日 更新日:

Clibor、便利だわ~。もう大好き。

今回はこんなコードをご紹介。私が作った。えへ。
まあProの方々から見れば、全然大した頃は無いのでしょうが。

# -*- coding: utf-8 -*-
#<$C_CLB_PYTHON/>
import win32api
import win32com.client
import win32clipboard as CB
#
win32api.Sleep(200)
shell = win32com.client.Dispatch("WScript.Shell")
#
CB.OpenClipboard()
CB.EmptyClipboard()
CB.CloseClipboard()
shell.SendKeys("^c")
#
win32api.Sleep(200)
shell.SendKeys("%{TAB}")
win32api.Sleep(200)
shell.SendKeys("^a")
win32api.Sleep(200)
shell.SendKeys("^v")
win32api.Sleep(200)
shell.SendKeys("{ENTER}")

これでもって何ができるかというと。

例えば、Windowsでウィンドウを2枚開いているとして、片方はExcelで作ったID一覧、もう片方は業務システムのID検索フォームとする。

Excelのアクティブセルのデータを、Cliborでコピペして、Pythonに渡し、PythonのSendkeysでウィンドの切り替えと、フォームのテキストボックスの全選択と、それを上書きする形での貼付け、そしてEnterキーの動作といった、一連の操作をしてくれる。

私の仕事では、毎日上記の操作をキーボードだけで、20回-30回やっているので、指が疲れる。

このマクロで、少し楽になるかな。

Cliborの作者さま、そしてPythonに感謝。

追記:改良版2018/02/26(月)
最初に、ウィンドウを切り替えるのと、カーソルキーで一つ行を下げる動作を追加した。また、切り替えが早いからか自分の環境ではおかしなことが起こるときがあったので300ミリ秒単位にしてみた。さらにALT+1キーのショートカットキーで実行するようにした。

# Alt + 1 で実行
# -*- coding: utf-8 -*-
#<$C_CLB_PYTHON/>
import win32api
import win32com.client
import win32clipboard as CB
#
win32api.Sleep(300)
shell = win32com.client.Dispatch("WScript.Shell")
#
win32api.Sleep(300)
shell.SendKeys("%{TAB}")
win32api.Sleep(300)
shell.SendKeys("{DOWN}")
#
CB.OpenClipboard()
CB.EmptyClipboard()
CB.CloseClipboard()
shell.SendKeys("^c")
#
win32api.Sleep(300)
shell.SendKeys("%{TAB}")
win32api.Sleep(300)
shell.SendKeys("^a")
win32api.Sleep(300)
shell.SendKeys("^v")
win32api.Sleep(300)
shell.SendKeys("{ENTER}")

-IT仕事

執筆者:

関連記事

no image

a8

A8.netのa8matのプラスのあとの引数。 2番目が主サイト・副サイトの区別、4番目が素材タイプということはわかった。

no image

APCのUPSがバッテリー切れで警告音

正月明け。 突然に、会社のUPSを設置してある部屋からピーピー音がする。 購入してから3年、とうとうバッテリー交換の時期か。 しかしこれ、どうやって止めるんだ? 止めるようなボタンは見あたらない。 W …

no image

IP電話

呉西のケーブルテレビ会社にIP電話を申し込んだら、 「トラブルが多いから内規で設置申し込みを受け付けないようにしている。公表してないが」 と、そこの営業さん。 ここ、市が運営してるところじゃなかったっ …

no image

GoogleChromeの拡張機能を使ってGmailの本文中の文字を簡単に再検索する方法

Gmailの注文メールを開いて、お客様の注文番号や電話番号・メールアドレスをコピペして検索・・・といった操作は、よく使うと思うのですが、ちょっと面倒に思いませんか? GoogleChromeの拡張機能 …

no image

Titanimu Studioを試している。

書籍を揃えて試しているのだが、以下の部分でエラーになる。 win1.hideTabBar(); エラーメッセージは、 <TiBaseWindow> has no method &#8216 …