アプリ版:「スタンプのみでお礼する」機能のリリースについて

<前提条件>
・パソコンを常に起動している(シャットダウンはしない)
・TEST.xlsにマクロ作成済

<お聞きしたいこと>
・毎日指定時刻(15:30)にTEST.xlsを開き、登録されている
 マクロを自動で実行したい

<私の考え>
・TEST.xlsに下記マクロを登録しようと思っております。
 ただ、下記だけですと、「指定時刻にエクセルを開く」と、
 「毎日指定時刻に自動でマクロを実行する」ことができません。
 あまりマクロについて知識がないため、ご教示のほどよろしくお願いいたします。

Sub 指定時刻にマクロを実行する()
Application.OnTime TimeValue("15:30:00"), _
"MSGBOX", _
TimeValue("00:00:30")
End Sub

Sub MSGBOX()
msgbox"TEST"
End Sub 

A 回答 (3件)

>パソコンを常に起動している(シャットダウンはしない)


Excelも常時起動しておけるのなら、この様な方法も

Sub 指定時刻にマクロを実行する()
  Application.OnTime TimeValue("15:30:00"), "MSGBOX", TimeValue("00:00:30")
End Sub

Sub MSGBOX()
  Dim myDate As Date

  MSGBOX "TEST"

  myDate = DateValue(Now() + 1)
  '翌日のOnTimeセット
  Application.OnTime TimeValue("15:30:00") + (myDate), "MSGBOX", TimeValue("00:00:30")
End Sub
    • good
    • 7

#1様がおっしゃられているようにタスクを使うべきですね。


スタート→すべてのプログラム→アクセサリ→システムツール→タスク(XPの例)
そこで15:30にTEST.xlsを実行させてあとはオープンイベントでいいんじゃないでしょうか?

オープンイベントについては下記参照
http://office.microsoft.com/ja-jp/excel/HA010346 …
    • good
    • 4

Excelのマクロは、Excelが起動していてマクロを含むブックが読み込まれている状態でないと実行されません。

なので、Excelのマクロに何を書いても、Excelが起動していない状態からExcelを起動することはできません。
タスクスケジューラに登録するなど、別の方法を考えてください。
    • good
    • 8

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています