Excel VBA onTime関数のプロシージャ引数に、引数(変数)つきのプロシージャを呼び出す方法を教えてください。
現在ExcelVBAで一定時間ごとにメッセージを出すツールを作成しています。
その際にonTime関数を使っていますが、その引数のひとつである呼び出すプロシージャに「引数(変数)つきのプロシージャ」を設定しようとしています。
サイトを探してみたところ、引数にシングルクオーテーションで囲むなど書いてあったのですが、変数を引数としたプロシージャを設定すると、「プロシージャが見つかりません」のエラーがでます。
どなたかお力を貸してくれませんでしょうか。
ちなみに僕のコードは以下の通りです。(簡略化)
------フォーム
Private Sub cmbOk_Click()
Call メッセージ実行(txtTime.Text, txtContent.Text)
End Sub
------ThisWorkbook
Private Sub メッセージ実行(ByVal time As String, ByVal content As String)
Dim starttime As Double
MsgBox time & "毎に" & vbCr & content & vbCr & "を表示します。", vbInformation
Unload frmSet
starttime = Now + CDbl(TimeValue(time))
Application.OnTime starttime, "'expressContent" & time & content & "'"
End Sub
------標準モジュール
Dim starttime2 As Double
Sub expressContent(ByVal time2 As String, ByVal content2 As String)
MsgBox "content2", vbInformation
starttime2 = Now + CDbl(TimeValue(time2))
Application.OnTime starttime2, "'expressContent" & time & content & "'"
End Sub
よろしくお願い致します。