- ベストアンサー
OnTimeを使ったのですが「エラー」になってしまいます
VBA でOnTimeの「サンプル」を使ってのタイマーですが、実行すると次のようなエラーが出て、実行マクロへ行けません。 「マクロ"I:\一定時間後に.xls'!実行マクロ名'が見つかりません。」 どうしてなのか教えてください。 Option Explicit Dim 待ち時間 Dim 指定時刻 Sub 一定の時間間隔でマクロを実行する() 指定時刻 = Now + TimeValue("0時00分05秒") '5秒後 待ち時間 = TimeValue("0時00分01秒") Application.OnTime TimeValue(指定時刻), "実行マクロ名", TimeValue(待ち時間) End Sub Sub 実行マクロ名() Dim wavfile As String wavfile = "C:\Windows\Media\ringin.wav " 'wavファイルのパス Shell "mplay32.exe /play /close " & wavfile End Sub
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
提示のマクロで動作するはずですが >「マクロ"I:\一定時間後に.xls'!実行マクロ名'が見つかりません。」 と出たとすれば原因は2つ考えられます。 (1)提示したコードと実際実行したコードが違う 例えば、”実行マクロ名”というマクロ名ではない (2)コードを書いている場所が、標準モジュールではない 例えば、Sheet1のシートモジュールとか ということで、マクロ名が正しいか確認後、次のようにしてください。 1.VBEの画面を開く 2.「挿入」メニュー > 「標準モジュール」と進み、「標準モジュール」を挿入する 3.画面上部のタイトルバーに、「Module1 コード」と表示されてるか確認したあと、 コードウィンドーに質問のコードをコピー&ペースト 5.VBE画面を閉じて、実行 これでちゃんと動作するはずです。
その他の回答 (1)
- himajin100000
- ベストアンサー率54% (1660/3060)
これと同じ現象でないか確認を。 http://oshiete1.goo.ne.jp/qa3196717.html
補足
ご回答ありがとうございました。 VBAはまだ始めたばかりで良く分かりません。 説明の中に 解決策として「Normal.dot にマクロを作成します。 」とは何を意味するのでしょうか? よろしくお願い致します。
お礼
標準モジュールで動作させると正常に実行されました。 何日も迷いに迷っていたので実行できて大変うれしく思います。 誠にありがとうございました。