#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'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします


Copyright © T'sWare All rights reserved