スポンサーリンク

Windows マクロ作成ソフト UWSC を使ってキーボード操作を自動化する方法、SENDSTR 関数と KBD 関数

UWSC
The following two tabs change content below.

松井 元(まつい はじめ)

静岡県三島市の松井会計事務所に勤務する理系税理士。 文理両方のスキルの融合を考えており、このブログは以下を中心に更新している。
●税金・会計に関すること
●IT(Excel、VBAなど)を使った業務効率化
●自分のこと(考え、私生活)

さらに詳細なプロフィールはこちら
松井会計事務所へのお仕事ご依頼・お問い合わせはこちら
税金・会計の無料メルマガはじめます

Windows マクロ作成ソフト UWSC を昔から使っています。

あまり一般的ではありませんが、会計事務所や経理の仕事にも使えるソフトです。

基本的な使い方についてはこちらの記事↓ に書きました。

UWSC で Windows マクロを作って画面操作を自動化できる、会計事務所・経理職で使えるソフト UWSC
マクロは PC 上の操作を自動化する機能のことです。 私はよくブログに書くように、Excel VBA でマクロを作って Excel内での操作を自動化します。 Excel マクロとは別にいわゆる Windows 画面での操作を自動化する ...

このソフトを使えば、Windows のキーボード操作を自動化することもできます。

以前、こちらの記事で Excel シート上のデータを税務ソフト(事業概況システム)に、書き写すキーボード操作を自動化する方法について書きました。

Excel から JDL の事業概況説明書への転記(コピペ)作業を自動化する、UWSC によるキーボード操作
会計・税務ソフトは日頃使っていますが 100%自分の希望通りの機能が備わっているわけではありません。 ここがもう少しこうなったらなぁ、、、、って思うことは山ほどあり歯がゆくなります。。 ただ、それでも自分の要望に合うように標準品を逸脱し...

以下↓が動画になります。左側が Excel シート、右側が税務ソフト(事業概況システム)で、Excel シート上の実行ボタンをクリックすると操作が開始します。

さて、UWSC を使ったキーボード操作を自動化する方法として SENDSTR 関数を使う方法と KBD 関数を使う方法の2つがあります。

自分がこれまでこの2つの関数を使ってキーボード入力を自動化した感想としては、以下のような特徴があります。

●SENDSTR 関数を使う場合、コードの記述が短く済むけど動作が不安定
●KBD 関数を使う場合、コードの記述が長くなるけど動作は安定

上の動画は KBD 関数を使ったものです。

SENDSTR 関数では動作するときとしないときがありました。。
理由はよく分かりません。

今日は、両方の関数の使い方を紹介しておきます。

スポンサーリンク

1、メモ帳に数値を書き出す場合

開いたメモ帳に数値を書き出す場合を考えます。

メモ帳に「123456」と書き出せるように UWSC コードを組みたいと思います。

セミナー開催致します。
◆3/22、4/22 30代半ばから税理士になった体験談セミナー

お仕事のご依頼は、以下のリンク先にある個別のフォームよりお願い致します。
◆税務・会計 顧問
◆税務・会計のスポットコンサルティング
◆Excel シートのオーダーメイド
◆Excel、マクロ(Excel VBA) のマンツーマンレッスン
◆東亜大学通信制大学院(法学専攻) 入試対策コンサル
◆その他のスポットコンサルティング(当ブログを読み何かご相談したい事項が出てきた方に向けたサービス)

税金・会計についての無料メルマガをはじめます。配信をご希望させる方は以下のリンク先にあるフォームよりお願い致します
◆メルマガ登録

2、SENDSTR 関数を使う場合

SENDSTR 関数

SENDSTR 関数は文字列を書き出す関数です。以下のようにして使います。

SENDSTR(ID 番号, 文字列)

書き出し先を「ID 番号」で指定します。

今回のケースでは、メモ帳の ID 番号を取得して指定しなければなりません。

UWSC コード

以下に UWSC コードを示します。

NoteID = GETID(“メモ帳”)
で既に開いているメモ帳の ID を取得します。

変数 Num にはメモ帳に書き出したい数値を入れます。今回は「123456」

SENDSTR(NoteID, Num)
で ID 番号が「NoteID」のものに、Num を書き出します。

つまり、メモ帳に 123456 と書き出すように指示しているんですね。

3、KBD 関数を使う場合

KBD 関数

KBD 関数はキーボードのキーを1つずつ操作する(押すのと同じ)関数です。

以下のようにして使います。

KBD(仮想キーコード)

「仮想キーコード」とは、PC のキーボード1つ1つに割り当てられたコードのことです。

数値は以下のようになります。

0 は VK_NUMPAD0
1 は VK_NUMPAD1



9 は VK_NUMPAD9

UWSC コード

以下に UWSC コードを示します。

ACW(NoteID)
で ID 番号が「NoteID」のものをアクティブにしています。

つまり、メモ帳をアクティブにしていることになりますね。

そして、以下の KBD 関数の羅列で「123456」とキーボード入力しているのです。

KBD(VK_NUMPAD1)
KBD(VK_NUMPAD2)
KBD(VK_NUMPAD3)
KBD(VK_NUMPAD4)
KBD(VK_NUMPAD5)
KBD(VK_NUMPAD6)

4、まとめ

UWSC を使ってキーボード操作を自動化する方法を紹介しました。

SENDSTR 関数と KBD 関数

SENDSTR 関数の方が UWSC コードが短くて済むため使いやすいのですが、ただなぜか動作が不安定です(動作しないことがある)。

一方で KBD 関数は入力したいキーの数が増えれば増えるほど UWSC コードが長くなってしまう欠点がありますが、動作は安定しています。

ですので、KBD 関数を使うことも多いです。

SENDSTR 関数の不具合の原因が分かって解決できれば良いんですけどね。

セミナー開催致します。
◆3/22、4/22 30代半ばから税理士になった体験談セミナー

お仕事のご依頼は、以下のリンク先にある個別のフォームよりお願い致します。
◆税務・会計 顧問
◆税務・会計のスポットコンサルティング
◆Excel シートのオーダーメイド
◆Excel、マクロ(Excel VBA) のマンツーマンレッスン
◆東亜大学通信制大学院(法学専攻) 入試対策コンサル
◆その他のスポットコンサルティング(当ブログを読み何かご相談したい事項が出てきた方に向けたサービス)

税金・会計についての無料メルマガをはじめます。配信をご希望させる方は以下のリンク先にあるフォームよりお願い致します
◆メルマガ登録