| 
    
     |  | n さん こんにちは いつもお世話になっています m(_ _)m
 
 >>ブックを閉じるときに、vbsのメッセージを出したいと思っています
 >これはUserFormの替わりにしたいという事なのでしょうか?
 >それとも現状のコードに加える?
 >加えるとしたら、そもそもUserFormがPopUpの替わりなので必要性に疑問が。
 
 一連のQ アドバイスありがとうございました
 
 全体の動作のイメージは
 
 ・入力途中等、勝手に閉じられてしまうと頭にくるので
 警告フォームを出す
 この時、いつ閉じられるか不明だと心臓によくないので
 カウントダウンを表示する
 離席等で上記のまま放置されると自動上書き終了する
 
 ・離席後、戻ってみるとエクセルが閉じていたり
 別ブックがになっていると??みたいになることがあるので
 当該ブックは閉じました メッセージを表示しておく
 
 みたいになりました
 
 
 コードのご提示ありがとうございました
 勉強になります
 
 下記のようにしてみましたが
 test1()は、msgboxのボタンが押されるまで、ブックが閉じませんでした
 やはり、test2()のように外部VBS等をキックしないといけないような
 気がしてきました
 
 時間をおいたとき
 いつも、このVBSて何だっけ? みたいになることが多いので
 不要で済ますことが出来ればいいな の質問でした
 
 ちなみに
 自PCにWindowsのMessengerが使えそうな気がしましたが
 サービスが無効になっていましたのでそこから先は何も試してみません
 でした
 
 
 なにかあればよろしくお願い致します
 
 --------------------------------------------------------------
 'ThisWorkbook
 
 Private Sub Workbook_BeforeClose(Cancel As Boolean)
 
 Application.Quit
 
 End Sub
 
 --------------------------------------------------------------
 'Module1
 
 Sub test1()
 
 'CreateObject("WScript.Shell").PopUp "3秒後に閉じる予定だけど...", 3
 CreateObject("WScript.Shell").PopUp "無操作のためブックは閉じました"
 
 ThisWorkbook.Save
 ThisWorkbook.Close
 
 End Sub
 
 
 Sub test2()
 
 Const f = "C:\CP\2009\200904\test2\msg.vbs"
 'Const s = "CreateObject(""WScript.Shell"").PopUp ""3秒後に閉じます。"", 3"
 Const s = "CreateObject(""WScript.Shell"").PopUp ""無操作のためブックは閉じました"""
 
 Dim n As Long
 
 n = FreeFile
 Open f For Output As #n
 Print #n, s
 Close #n
 
 Shell "wscript.exe " & f, vbNormalFocus
 
 ThisWorkbook.Save
 ThisWorkbook.Close
 
 End Sub
 
 --------------------------------------------------------------
 
 |  |