#456 メモ帳にデータを引き渡すには?(Sendkeysによる方法) VBA

エクスポートのようにテキストファイルを介してメモ帳にデータを渡すのではなく、VBAからメモ帳を起動、そこにテーブル上のデータを直接引き渡す方法です。

次のプログラム例では、フォーム上で複数レコードを範囲選択(マニュアル操作)した上で[F2]キーを押すことによってメモ帳を起動、ならびに範囲選択されたレコードのフィールドデータを渡す方法を示しています。なお、1件のレコードも選択されていない場合のエラー処理などは配慮していませんので注意してください。

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'キークリック時(フォームのキーボードイベント取得を"はい"に設定しておくと)

  '[F2]キーが押されたとき
  If KeyCode = vbKeyF2 Then

    '範囲選択されているレコードをコピー
    DoCmd.RunCommand acCmdCopy

    'メモ帳を起動
    Shell "C:\windows\NOTEPAD.EXE", vbNormalFocus

    'メモ帳に対してCtrl+Vキー(貼り付け)操作を送出
    SendKeys "^V", True

  End If

End Sub


実行例:
フォーム上で範囲選択
フォーム上で範囲選択

F2キーを押したあとの結果
F2キーを押したあとの結果
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved