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

Gifzoってのを使ってみたのですが、スゴイ便利

スクリーンキャストを撮るのに、Gifzoってのを使ってみたのですが、スゴイ便利。 Gifzo – 宇宙一簡単なスクリーンキャスト共有 例えば、こんな感じに撮れる。 ちょっとした意思の疎通が …

no image

瞬NAS

月刊アスキー2005年6月号の記事に、NAS特集。 KNOPPIXを使う方法が述べられていた。 1.KNOPPIXでPCをブート 2.スタートボタン->KNOPPIX->Service->Start …

no image

レンタルサーバにあるXOOPSの本番環境をローカルのテスト環境/XAIOに移す手順

ローカルフォルダを上書きするので、手軽な方法でよいのでフォルダとDBのバックアップを取っておく。 まず、サーバ側 XOOPSテーマ、モジュール、Upload、Imagesの各フォルダをローカルのXAI …

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

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

no image

イーモバイル製のHTC AriaはIIJ-Mioで使えなかった

オークションで購入したHTC Ariaだが、IIJ-Mioのキャリアでは使えないみたい。 APNを登録したり、色々試してみたのだが、3Gを介したネットにはつながらなかった。 エラーは出ないのにね。 A …