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

秀丸マクロ

薬品費を消耗品費にするのと22を23にするのとを、20個以上のファイルに対して行って、別のファイルに保存する・・・。 これを昨日からやっているのだが、だんだんめんどくさくなって来て。 明日移行も、同じ …

no image

Excelで使える祝日判定のWebAPIを見つけた

Excelの関数には、曜日を判定できる関数(WEEKDAY)が用意されている。また、表示だけなら書式設定でもできる。しかし祝日となると、関数も何も、用意されていない。 祝日は年により、突然増えたり、「 …

no image

Xojoに興味がある

というのも、Webアプリが作りたくなったからである。 https://xojo.grapecity.com/ HTML5が世に出てから数年したくらいに、Monacaの入門本を買って、それで試しにWeb …

no image

フリースポット

仕事で宿泊施設。 公衆無線LAN構築を提案、いい感触。 個人的興味の深い仕事に、よし今度こそはと。

GASで作成したスクリプトをPower Automateで使うには(めちゃx2苦労した話)

ChatGPTに「GASで作成したスクリプトをPowerAutomateで使うにはどうすればよいか」と聞いたら、「Google Apps ScriptをWeb APIとして公開し、Power Auto …