他のソフト(メモ帳)を制御する : Excel(エクセル)

Excel Tipsメニューに戻る

スポンサーリンク






Shell と Sendkeys を使い、Excelからメモ帳(ノートパッド)を制御します。Sendkeysで操作するには、対象ソフトがアクティブでないといけません。又、想定以外のことが発生した場合、うまくいかなくなります。例えば今回の場合、同名のファイルが存在する場合、「上書きしますか?」のメッセージが出る為、うまくできません。

下の流れはこのようになります。
1)メモ帳(ノートパッド)を起動
2)文字を入力
3)メニューを開きファイルの保存を実行 「ALT」+「F」「S]キー
4)Enterキー
5)メモ帳を'終了します。「ALT」+「F4」キー

ExcelシートのVBAコード

Private Sub ExMemo()
    'メモ帳(ノートパッド)を起動
    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 CommandButton1_Click()
    ExMemo
End Sub

スポンサーリンク


Excel実行画面

「メモ帳をコントロール」ボタンをクリックすると、ExMemo()プロシージャが呼ばれます。
エクセルにコマンドボタンを設置

SendKeys "他のソフトを操作テスト" が実行された画面です。文字が入力されています。
1行目に入力されている

Excel Tipsメニューに戻る

スポンサーリンク






■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved