自动热键-拦截目标窗口关闭命令



我希望Auto热键监视Excel 2010窗口中的"关闭命令",截取并取消该命令,运行脚本,然后最终关闭该窗口。

我知道OnClose和BeforeClose是vba中现有的命令,但我不能使用.xlsm(启用宏)工作表,而且这至少在5个不同的工作站上,所以Personal.xlsb也不是一个选项。

我发现了一些参考资料,vba"很容易"翻译成COM,我只是在学习如何使用它,但我已经用键盘敲了一个星期了,我无法想出任何语法来监视"关闭"命令的窗口。

我最近在想OnMessage,但我也无法想出它的语法,谷歌也没用,我甚至找不到其他人问这个问题!请帮忙!

我在ahkscript.org论坛上发布了你的主题中的两个可用示例

这是两个中比较简单的一个

oExcel := ComObjActive("Excel.Application")
oWorkbook := oExcel.ActiveWorkbook
ComObjConnect(oWorkbook, Workbook_Events)
return
class Workbook_Events
{
    BeforeClose(Cancel)
    {
        msgbox % "closing"
    }
}

希望它能帮助

最新更新