Excel VBA質問箱 IV

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

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


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

【42985】ユーザフォームを時間が来たら表示数秒後クローズ まーくん 06/9/28(木) 17:37 質問[未読]
【42986】Re:ユーザフォームを時間が来たら表示数秒... かみちゃん 06/9/28(木) 17:45 発言[未読]
【42987】Re:ユーザフォームを時間が来たら表示数秒... まーくん 06/9/28(木) 18:27 発言[未読]
【42989】Re:ユーザフォームを時間が来たら表示数秒... かみちゃん 06/9/28(木) 18:41 発言[未読]
【42993】Re:ユーザフォームを時間が来たら表示数秒... まーくん 06/9/28(木) 19:11 発言[未読]
【43009】Re:ユーザフォームを時間が来たら表示数秒... パン 06/9/29(金) 8:56 発言[未読]

【42985】ユーザフォームを時間が来たら表示数秒後...
質問  まーくん  - 06/9/28(木) 17:37 -

引用なし
パスワード
   みなさん 解るかたよろしくお願いします。
他のサイトで見かけたのですが
ユーザーフォームを時間が来たら立ち上げ数秒後閉じる。
[#42873]の続きです。動作が不安定なため
ユーザーフォームならどうかなと思い検討したいのですが。

  Application.OnTime TimeValue("18:00:00"), "main1"

Sub main1()
  UserForm1.Show
  Application.OnTime Now() + TimeValue("00:00:03"), "main7"
   ↑ヘルプで調べました。
End Sub

Sub main7()
  Unload UserForm1
End Sub
うまく閉じてくれません。

【42986】Re:ユーザフォームを時間が来たら表示数...
発言  かみちゃん  - 06/9/28(木) 17:45 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>ユーザーフォームを時間が来たら立ち上げ数秒後閉じる。

どこのサイトをどのように参考にされたのか知りませんが、以下のURLは参考になりますでしょうか?
http://park11.wakwak.com/~miko/Excel_Note/11-01_userform.htm#11-01-14

【42987】Re:ユーザフォームを時間が来たら表示数...
発言  まーくん  - 06/9/28(木) 18:27 -

引用なし
パスワード
   ▼かみちゃん さん:
>
>>ユーザーフォームを時間が来たら立ち上げ数秒後閉じる。
>
>どこのサイトをどのように参考にされたのか知りませんが、以下のURLは参考になりますでしょうか?
>http://park11.wakwak.com/~miko/Excel_Note/11-01_userform.htm#11-01-14
ありがとうございます。
上記サイトにて新規bookで実行するとOKなのですが
プロテクトのかかっているのがわるいのか動作しません。
[#42876]のデータに組み込みたいと考えています。
お助け下さい。
下記までは問題なく動くのですが
Sub Auto_Open()
  Dim MyR As Range

  Randomize  ' 乱数発生ルーチンを初期化します。
  Select Case Int(100 * Rnd + 1)
   Case 1 To 10: MsgBox "血圧は正常ですか?"
   Case 11 To 20: MsgBox "今日のあなたの運勢は○吉です"
   Case 21 To 30: MsgBox "今日もお仕事頑張るぞ!"
   Case 31 To 40: MsgBox "昨日の夕飯何食べました?"
   Case 41 To 50: MsgBox "おとといの朝食はなに?
   Case 51 To 60: MsgBox "今日はいくら稼ぎましたか?"
   Case 61 To 70: MsgBox "今日は残業無しで帰りましょう。
   Case 71 To 80: MsgBox "今日のあなたの運勢は○凶です。
   Case 81 To 90: MsgBox "貴方の名前・年齢・血液型は?
   Case 91 To 100: MsgBox "お元気ですか・・・?"
  End Select
よろしくお願いします。

【42989】Re:ユーザフォームを時間が来たら表示数...
発言  かみちゃん  - 06/9/28(木) 18:41 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>上記サイトにて新規bookで実行するとOKなのですが
>プロテクトのかかっているのがわるいのか動作しません。
>[#42876]のデータに組み込みたいと考えています。

なさりたいことがわからなくなりました。
当初の質問と、提示されたコードの関係、そして私がご紹介したコードがどのよう
にして動作しないのかがさっぱりわかりません。

【42993】Re:ユーザフォームを時間が来たら表示数...
発言  まーくん  - 06/9/28(木) 19:11 -

引用なし
パスワード
   ▼かみちゃん さん:
>>上記サイトにて新規bookで実行するとOKなのですが
>>プロテクトのかかっているのがわるいのか動作しません。
>>[#42876]のデータに組み込みたいと考えています。
>
>なさりたいことがわからなくなりました。
>当初の質問と、提示されたコードの関係、そして私がご紹介したコードがどのよう
>にして動作しないのかがさっぱりわかりません。

かみちゃんさん紹介のサイトからコード(新規bookにて)作成すれば
動作しました但し今回組み込みたいbookはプロテクトのかかったbook
これが原因かどうかわかりませんが表示後数秒後閉じないのです。
初めMsgBoxで考えたのですがMsgBoxだとenterかOkを押さないと
表示を閉じれないと言うことでkeinさんの提案で
WSHのPopUpメソッドを使ったほうがよいでしょうとの提案があり
コードを組み込みました。

そこで問題が生じたのが時間になると表示はするのですが
一定時間経過しても閉じてくれないのです。(たまにexcel起動直後だと)
閉じることもあるのですが動作が不安定なので確実にするには
ユーザーフォームを表示させるやり方もありかなと考えたわけです。
以上今までの経緯です。
かみちゃん説明解りますか。?よろしくお願いします。

【43009】Re:ユーザフォームを時間が来たら表示数...
発言  パン E-MAIL  - 06/9/29(金) 8:56 -

引用なし
パスワード
   ▼まーくん さん:

こんにちは、パンです。
こんなんドウでしょうか?

Sub Auto_Open()
  Dim MyR As Range
  Dim MG As String
  Dim WSH As Object

  Randomize  ' 乱数発生ルーチンを初期化します。
  Select Case Int(100 * Rnd + 1)
   Case 1 To 10: MG = "血圧は正常ですか?"
   Case 11 To 20: MG = "今日のあなたの運勢は○吉です"
   Case 21 To 30: MG = "今日もお仕事頑張るぞ!"
   Case 31 To 40: MG = "昨日の夕飯何食べました?"
   Case 41 To 50: MG = "おとといの朝食はなに?"
   Case 51 To 60: MG = "今日はいくら稼ぎましたか?"
   Case 61 To 70: MG = "今日は残業無しで帰りましょう。"
   Case 71 To 80: MG = "今日のあなたの運勢は○凶です。"
   Case 81 To 90: MG = "貴方の名前・年齢・血液型は?"
   Case 91 To 100: MG = "お元気ですか・・・?"


  End Select
 
  Set WSH = CreateObject("WScript.Shell")
  WSH.Popup MG, 3, "Title", vbInformation
  Set WSH = Nothing
 End Sub

>▼かみちゃん さん:
>>>上記サイトにて新規bookで実行するとOKなのですが
>>>プロテクトのかかっているのがわるいのか動作しません。
>>>[#42876]のデータに組み込みたいと考えています。
>>
>>なさりたいことがわからなくなりました。
>>当初の質問と、提示されたコードの関係、そして私がご紹介したコードがどのよう
>>にして動作しないのかがさっぱりわかりません。
>
>かみちゃんさん紹介のサイトからコード(新規bookにて)作成すれば
>動作しました但し今回組み込みたいbookはプロテクトのかかったbook
>これが原因かどうかわかりませんが表示後数秒後閉じないのです。
>初めMsgBoxで考えたのですがMsgBoxだとenterかOkを押さないと
>表示を閉じれないと言うことでkeinさんの提案で
>WSHのPopUpメソッドを使ったほうがよいでしょうとの提案があり
>コードを組み込みました。
>
>そこで問題が生じたのが時間になると表示はするのですが
>一定時間経過しても閉じてくれないのです。(たまにexcel起動直後だと)
>閉じることもあるのですが動作が不安定なので確実にするには
>ユーザーフォームを表示させるやり方もありかなと考えたわけです。
>以上今までの経緯です。
>かみちゃん説明解りますか。?よろしくお願いします。

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