我有一个 VBA 代码,每当打开 Excel 时都会调用我的过程。
Sub WorkBook_Open()
Call Sheets("Result").main
End Sub
我的担忧是主函数将发送电子邮件。因此,如果我想编辑那个Excel,未来怎样才能在不触发调用的情况下打开它?
我的最初意图是使用命令行每天运行VBA函数并自动发送报告。
NB:仅选择要打开的Excel工作簿是不起作用的。
您需要先打开Excel,然后再打开工作簿。
编辑:
我的担忧是,主函数会发送电子邮件。
不要将代码添加到 Workbook_Open
事件中,而是将其添加到按钮的单击事件中-只有在您按下按钮后才会发送电子邮件。
您无需先打开Excel。只需在双击 .xlsm 文件时按住 Shift 键即可。
Application.OnKey
的调用并不能阻止调用MakeRec
,它只是尝试(并失败地)将StopMacro
子程序分配给按下Shift键的操作。 - JohnM
If MsgBox("发送邮件?", vbYesNo) = vbYes Then...
- Mathieu GuindonSheets("Result").main
('call' 是多余/无用/过时的)。 - Mathieu Guindon