• ベストアンサー

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

質問者が選んだベストアンサー

  • ベストアンサー
  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.2

提示のマクロで動作するはずですが >「マクロ"I:\一定時間後に.xls'!実行マクロ名'が見つかりません。」 と出たとすれば原因は2つ考えられます。 (1)提示したコードと実際実行したコードが違う    例えば、”実行マクロ名”というマクロ名ではない (2)コードを書いている場所が、標準モジュールではない    例えば、Sheet1のシートモジュールとか ということで、マクロ名が正しいか確認後、次のようにしてください。 1.VBEの画面を開く 2.「挿入」メニュー > 「標準モジュール」と進み、「標準モジュール」を挿入する 3.画面上部のタイトルバーに、「Module1 コード」と表示されてるか確認したあと、   コードウィンドーに質問のコードをコピー&ペースト 5.VBE画面を閉じて、実行   これでちゃんと動作するはずです。  

yasima278
質問者

お礼

標準モジュールで動作させると正常に実行されました。 何日も迷いに迷っていたので実行できて大変うれしく思います。 誠にありがとうございました。

その他の回答 (1)

回答No.1

これと同じ現象でないか確認を。 http://oshiete1.goo.ne.jp/qa3196717.html

yasima278
質問者

補足

ご回答ありがとうございました。 VBAはまだ始めたばかりで良く分かりません。 説明の中に 解決策として「Normal.dot にマクロを作成します。 」とは何を意味するのでしょうか? よろしくお願い致します。

関連するQ&A