[[20250306161311]] 『shell.popup中にセルを編集したい』(やわら) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『shell.popup中にセルを編集したい』(やわら)

お世話になっております。

 Set WSH = CreateObject("WScript.Shell")

 If WSH.Popup("更新終了しますか?", ws.Range("Q90").Value, , vbYesNo) = vbYes Then

 Set WSH = Nothing

上記のPopup中に、Q90セルを書き換えたら次の実行時にはその秒数分ポップアップが出るようにしてほしいのですが、うまくいきません。
そもそも推奨の動きではないのは承知の上ですが、
ブレイクを張れば秒数更新されることから考えてもできることはできるのでは…?と思っています。
なにかいい方法はないでしょうか。

< 使用 Excel:Microsoft365、使用 OS:Windows11 >


 こんなテスト用コードを実行してみると( 秒数の指定セルをA1にしています。)
 Sub test()
   Dim s As Long
   Set WSH = CreateObject("WScript.Shell")
   s = Range("A1").Value
   t = Timer
   ret = WSH.Popup("更新終了しますか? " & s & "秒後に閉じます。", s, , vbYesNo)
   MsgBox "経過時間は" & Timer - t & "秒です"
   Set WSH = Nothing
 End Sub

 A1セルに1と入れても私の環境だと 3秒くらい待ちます
 どうもあまり時間の精度がないようですね
(´・ω・`) 2025/03/06(木) 16:46:41

確かにセルの値をメッセージに書くと変わってるか目視できますね…盲点でした。
試してみたのですが、指定セルを1にしても、メッセージは変わってましたが3秒どころか30秒ぐらい経っても閉じず。

3→15など、長くするのも試したのですが、ポップアップ開いている状態でセル編集すると
その時点で時間経過で閉じなくなる気がしています。(現在ももともと3だったのに1分ぐらい出っぱなしです)
制約があるのかな?と感じているところです。
(やわら) 2025/03/06(木) 16:56:24


 検索してみました。

 教えてgoo Excel-VBAの「しばらくお待ちください」のダイアログが自動的に閉じない
 https://oshiete.goo.ne.jp/qa/13476071.html

 以上の回答で紹介されている

 自動的に閉じるメッセージ
 https://atsumitm.iobb.net/its/its-022.php

 を読んでみるといいと思います。
(´・ω・`) 2025/03/06(木) 17:17:55

ありがとうございます。自分でも調べてはいたのですが、ここにたどり着けませんでした。
記事読ませていただいて、これを使えばいいのではないかというのは見つけたので
実装に組み込めるか試してみたいと思います。大変助かりました。
(やわら) 2025/03/07(金) 12:32:26

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.