每日计时器自动 运行 一个宏
Daily timer to automatically run a macro
我正在尝试每天早上 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
这可以做到,但是,您需要在 Workbook_Open
例程中 运行 模块 ThisWorkbook
中的开启时间:
Private Sub Workbook_Open()
Application.OnTime TimeValue("15:33:00"), "Summary of Covered Companies"
End Sub
宏不会 运行 独立。当工作簿打开时,此命令将安排它。如果命令仅在宏本身中调用,Excel 将永远不会知道,直到有东西激活它。
您可以安排 windows 使用任务计划程序打开文件。然后打开工作簿上的宏 运行 并关闭文件。
我多年来一直在使用的另一个想法是安排 Gmail 在每天的给定时间向特定帐户发送一封电子邮件,主题中包含一个暗号。然后,如果电子邮件带有该代码字,我就会让 Outlook 运行 有一个宏。这使我能够通过停止发送电子邮件来远程停止宏。它运行完美。
我正在尝试每天早上 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
这可以做到,但是,您需要在 Workbook_Open
例程中 运行 模块 ThisWorkbook
中的开启时间:
Private Sub Workbook_Open()
Application.OnTime TimeValue("15:33:00"), "Summary of Covered Companies"
End Sub
宏不会 运行 独立。当工作簿打开时,此命令将安排它。如果命令仅在宏本身中调用,Excel 将永远不会知道,直到有东西激活它。
您可以安排 windows 使用任务计划程序打开文件。然后打开工作簿上的宏 运行 并关闭文件。
我多年来一直在使用的另一个想法是安排 Gmail 在每天的给定时间向特定帐户发送一封电子邮件,主题中包含一个暗号。然后,如果电子邮件带有该代码字,我就会让 Outlook 运行 有一个宏。这使我能够通过停止发送电子邮件来远程停止宏。它运行完美。