|
>UserForm1に、コンボボックスを3つ、コマンドボタン1つを配置し、
>
>コンボボックスのオブジェクト名を、
>cbo_hh ’ 時を入れるため
>cbo_mm ’ 分を入れるため
>cbo_ss ’ 秒を入れるため
>
>コマンドボタンのオブジェクト名は、
>cmd_start ’ 実行ボタン
>
>としました。
>
>
>下記のコードを記述して、それぞれのコンボボックスで「cbo_hh」「cbo_mm」「cbo_ss」
>から「時」「分」「秒」を指定しても、指定時刻になってもFirefoxが起動しません。
>
>どうやったら、指定時刻にFirefoxを起動させることができるのでしょうか?
>解決策をご存じの方がいらっしゃいましたら、ご教示のほど宜しくお願い致します。
>
>
>※コードは、
>−−−−−−−−−−−−−−−−−−−−−−
> ' (General) (Declarations)
> Dim hh As Long
> Dim mm As Long
> Dim ss As Long
> Dim starttime As Date
>−−−−−−−−−−−−−−−−−−−−−−
>Private Sub UserForm_Initialize()
>
> For hh = 0 To 23
> UserForm1.cbo_hh.AddItem hh
> Next
>
> For mm = 0 To 59
> UserForm1.cbo_mm.AddItem mm
> Next
>
> For ss = 0 To 59
> UserForm1.cbo_ss.AddItem ss
> Next
>
>End Sub
>−−−−−−−−−−−−−−−−−−−−−−
>Private Sub cmd_start_Click()
>
> hh = cbo_hh.ListIndex
> mm = cbo_mm.ListIndex
> ss = cbo_ss.ListIndex
>
> starttime = TimeSerial(hh, mm, ss)
>
> Application.OnTime EarliestTime:=starttime, Procedure:="firefox"
>
>End Sub
>−−−−−−−−−−−−−−−−−−−−−−
>Sub firefox()
>
> Dim brows As Long
> brows = Shell("C:\Program Files (x86)\Mozilla Firefox\firefox.exe", vbNormalFocus)
> If brows = 0 Then MsgBox "起動に失敗しました"
>
>End Sub
>−−−−−−−−−−−−−−−−−−−−−−
非常に明快な質問投稿でした。
私は、firefoxはインストールしていないので代わりに
WinWord.EXEで試してみましたが、Excel2010 Win7で現象、再現できました。
コンボボックスのListIndexとValueがこの設定だと一致するので
理屈では 作動するはずですね
ただ、実行されるプロシジャーは、ユーザーフォームやクラスモジュールの指定は
できません。
Sub firefox()
で始まるプロシジャーをユーザーフォームのモジュールから 標準モジュールに
移動して試してみてください。
|
|