Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10097 / 13646 ツリー ←次へ | 前へ→

【23697】sendkeysが効かない okb 05/4/1(金) 23:38 質問[未読]
【23698】Re:sendkeysが効かない YN61 05/4/1(金) 23:54 回答[未読]
【23699】Re:sendkeysが効かない ponpon 05/4/2(土) 0:10 発言[未読]
【23700】Re:sendkeysが効かない okb 05/4/2(土) 0:22 お礼[未読]
【23704】Re:sendkeysが効かない ichinose 05/4/2(土) 8:51 発言[未読]
【23712】Re:sendkeysが効かない よろずや 05/4/2(土) 13:32 発言[未読]

【23697】sendkeysが効かない
質問  okb  - 05/4/1(金) 23:38 -

引用なし
パスワード
   シートの削除で
ActiveWindow.SelectedSheets.Deleteを実行すると、"削除しますか?"の旨の
ダイアログが表示されるので、sendkeysでリターンを送ったのですが動作してくれません。
SendKeys "{ENTER}", True の記述に誤りがあるのでしょうか?
キーボードからはリターンでダイアログは、閉じてくれます。
愚問で申し訳ありませんが、宜しくお願いします。

          

【23698】Re:sendkeysが効かない
回答  YN61  - 05/4/1(金) 23:54 -

引用なし
パスワード
   ▼okb さん:
今晩は、警告無しで削除しては如何でしょう?か
>シートの削除で
>ActiveWindow.SelectedSheets.Deleteを実行すると、"削除しますか?"の旨の
>ダイアログが表示されるので、sendkeysでリターンを送ったのですが動作してくれません。
>SendKeys "{ENTER}", True の記述に誤りがあるのでしょうか?
>キーボードからはリターンでダイアログは、閉じてくれます。
>愚問で申し訳ありませんが、宜しくお願いします。
>
Sub 警告無しの削除 ( )
  Application.DisplayAlerts = False
   ActiveWindow.SelectedSheets.Delete
  Application.DisplayAlerts = True
End Sub
>

【23699】Re:sendkeysが効かない
発言  ponpon  - 05/4/2(土) 0:10 -

引用なし
パスワード
   ponponです。こんばんは。
>記述に誤りがあるのでしょうか?
 記述に間違いは無いと思いますが、ダイアログにフォーカスが
ある間は、VBAのコードは動かない仕組みだと思います。

詳しいことは、常連さんの回答を待つことにして、
私なら Application.DisplayAlerts = Falseを使います。

【23700】Re:sendkeysが効かない
お礼  okb  - 05/4/2(土) 0:22 -

引用なし
パスワード
   YN61さん ponpon さん 早々の回答ありがとうございました。

>詳しいことは、常連さんの回答を待つことにして、
>私なら Application.DisplayAlerts = Falseを使います。
とりあえず、アドバイスどおりで対応しました。

【23704】Re:sendkeysが効かない
発言  ichinose  - 05/4/2(土) 8:51 -

引用なし
パスワード
   ▼okb さん、皆さん、おはようございます。

Sendkeysは、私もめったな事では使いませんし、
この場合の処置は、Application.DisplayAlerts
に設定するのがよいかなと思います。

Sendkeysに関しては、以前、JuJuさんが

http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=5831;id=excel

とおっしゃっていたことが私の頭に残っています。

で、これは、参考程度ですが、

'=======================================================
Sub test()
  SendKeys "{ENTER}"
  ActiveWindow.SelectedSheets.Delete
End Sub
'==========================================
Sub test2()
  Application.SendKeys "{ENTER}"
  ActiveWindow.SelectedSheets.Delete
End Sub
'==============================================
Sub test3()
  Dim wsh As Object
  Set wsh = CreateObject("wscript.shell")
  wsh.SendKeys "{ENTER}"
  ActiveWindow.SelectedSheets.Delete
  Set wsh = Nothing
End Sub

で動作しなかったのは、test2だけでした。

【23712】Re:sendkeysが効かない
発言  よろずや  - 05/4/2(土) 13:32 -

引用なし
パスワード
   SendKeys には第2引数が有ったような。

10097 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free