「ACCESSの画面を開いて、他システムへのデータ入力を行っている」、そんな手間のかかる仕事をしていませんか?
システムがつながっていなければ仕方ないのですが、データが多いとなかなか手間ですよね。
ACCESSフォーム、行の移動だけでクリップボードにコピーできます。
受け取る側では「CTRL」+「V」で貼り付けるだけの作業です。
とても便利です。
VBAを使用しますが簡単な記述なので、慣れていない人でも一度試していると良いかと思います。
今回紹介するクリップボードへコピーする機能は、ACCESSフォームの現在行を変える機能と併せて使うと更に便利になります。
※環境はWindows7、ACCESS2010です。
ACCESSフォームは事前に準備しておく
ACCESSのフォームを事前に作成しておきます。
デザインビューで「レコード移動時」のイベントを指定する
デザインビューにします。
「デザイン」→「プロパティシート」でプロパティーシートを表示します。
「プロパティシート」の「イベント」タブをクリックして「レコード移動時」が表示されるか確認します。
プロパティシートに「レコード移動時」と表示されない場合は、フォーム全体が選択されていません、「フォームヘッダー」と書いてある部分の左上の□の部分をクリックします。
「プロパティシート」→「イベント」→「レコード移動時」→右端の「▼」をクリックして「イベントプロシージャ」を選びます。
エディターを開く
「レコード移動時」の一番右側の「…」をクリックするとコードエディターが表示されます。
エディターが開きます。
参照設定を行う
「ツール」→「参照設定」で「Microsoft Forms 2.0 Object Library」をチェックします。
「Microsoft Forms 2.0 Object Library」がリストにない場合は「参照」を選びます。
「System32」フォルダの「FM20.DLL」を開きます。
「Microsoft Forms 2.0 Object Library」がリストに追加されるのでチェックしてOKを選びます。
VBAでコーディングする
エディター画面に戻るので以下のようにコーディングします。
Dim wDO As DataObject
Set wDO = New DataObject
wDO.SetText Me!商品コード
wDO.PutInClipboard
エディター画面の「×」でエディターを終了します。
フォームを表示して動作確認を行う
フォームを表示して任意の行を選択します。
メモ帳などを開き、指定した文字列が貼り付けされたら成功です。
VBAは難しい?
ところで、VBAは難しいでしょうか?
VBAは一般的には簡単な言語だと言えますが、プログラミングの経験がない人には難しいかもしれないですね。
書籍などの独学でなかなか覚えられないのであれば、スクールで基礎から習うのも手段です。
スクールに通ってでもプログラミングは覚える価値が有るスキルです。
最後に
少し立ち止まってACCESSの参考書などいかがでしょうか?