0

毎日午前9時にマクロを実行しようとしています。OnTime アプリケーションを使用しようとしており、特定の時間に起動するマクロをテストしましたが、自動的に機能しません。メッセージ ボックスをポップアップ表示するには、マクロを手動で実行する必要があります。何かアドバイス?

Sub FinancialAlert()

    Application.OnTime TimeValue("15:33:00"), "Summary of Covered Companies"


    Dim i As Long
    i = 5

    While Workbooks("Montreal Issuers.xlsm").Sheets("Summary of Covered Companies").Cells(i, 5) <> ""

    With Workbooks("Montreal Issuers.xlsm")

        If .Sheets("Summary of Covered Companies").Cells(i, 5).Value = 1 Then

            MsgBox Workbooks("Montreal Issuers.xlsm").Sheets("Summary of Covered Companies").Cells(i, 3).Value & " is issuing their next financial statement tomorrow (" & _
            Format(Workbooks("Montreal Issuers.xlsm").Sheets("Summary of Covered Companies").Cells(i, 4).Value, "[$-409]mmmm d, yyyy;@") & ")."


        End If

        If .Sheets("Summary of Covered Companies").Cells(i, 5).Value = 0 Then

            MsgBox Workbooks("Montreal Issuers.xlsm").Sheets("Summary of Covered Companies").Cells(i, 3).Value & " is issuing their next financial statement today (" & _
            Format(Workbooks("Montreal Issuers.xlsm").Sheets("Summary of Covered Companies").Cells(i, 4).Value, "[$-409]mmmm d, yyyy;@") & ")."


        End If


    End With

    i = i + 1

    Wend

End Sub
4

2 に答える 2

2

ThisWorkbookこれは実行できますが、Workbook_Openルーチンのモジュールでオンタイムを実行する必要があります。

Private Sub Workbook_Open()
    Application.OnTime TimeValue("15:33:00"), "Summary of Covered Companies"
End Sub

マクロはスタンドアロンでは実行されません。ワークブックが開かれると、このコマンドによってスケジュールが設定されます。コマンドがマクロ自体でのみ呼び出された場合、Excel は何かがそれをアクティブにするまで認識しません。

于 2016-06-17T20:59:34.493 に答える
1

タスクスケジューラでファイルを開くウィンドウをスケジュールできます。次に、Workbook Open でマクロを実行し、ファイルを閉じます。

私が何年も前から使っているもう 1 つのアイデアは、Gmail をスケジュールして、特定のアカウントに毎日特定の時間に、件名にコード ワードを含むメールを送信することです。次に、そのコード ワードを含む電子メールが届いた場合に、Outlook でマクロを実行します。これにより、電子メールの送信を停止することで、マクロをリモートで停止することができます。それは完璧に機能しました。

于 2016-06-17T21:35:22.823 に答える