Shell と Sendkeys を使い、Excelからメモ帳(ノートパッド)を制御します。
Sendkeysで操作するには、対象ソフトがアクティブでないといけません。又、想定以外のことが発生した場合、うまくいかなくなります。例えば今回の場合、同名のファイルが存在する場合、「上書きしますか?」のメッセージが出る為、うまくできません。
下の流れはこのようになります。
1)メモ帳(ノートパッド)を起動
2)文字を入力
3)メニューを開きファイルの保存を実行 「ALT」+「F」「S]キー
4)Enterキー
5)メモ帳を'終了します。「ALT」+「F4」キー
[Accessフォーム実行画面]
メモ帳にSendkeysで文字が入力された画面
■ Access VBA 実行コード
Option Compare Database
Option Explicit
Private Sub AcMemo()
'メモ帳(ノートパッド)を起動
Shell "c:\windows\system32\notepad.exe", vbNormalFocus
DoEvents
'文字を入力
SendKeys "他のソフトを制御テスト"
'メニューの保存 「ALT」+「F」「S]
SendKeys "%FS", True
'ファイル名
SendKeys "c:\test01.txt", True
'Enterキー
SendKeys "{ENTER}", True
'既に同名のファイルが存在する場合、
'「上書きしますか?」のメッセージが出る為、
'うまく終了できません。
'終了します。「ALT」+「F4」
SendKeys "%{F4}", True
End Sub
Private Sub コマンド6_Click()
AcMemo
End Sub