Autohotkey - 截取目标窗口关闭命令?

时间:2015-10-29 08:25:32

标签: excel vba excel-vba com autohotkey

我希望Autohotkey监控关闭命令的Excel 2010窗口,拦截并取消命令,运行脚本,最后关闭窗口。

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

我发现有几个引用,vba“很容易”转换为COM,我正在学习如何使用,但是我已经在键盘上打了一个星期了,我现在可以拿出没有语法这将让我监视一个窗口的“关闭”命令。

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

1 个答案:

答案 0 :(得分:0)

我在ahkscript.org论坛here

上发布了两个可用的主题示例

这是两个中较简单的一个

oExcel := ComObjActive("Excel.Application")
oWorkbook := oExcel.ActiveWorkbook
ComObjConnect(oWorkbook, Workbook_Events)
return

class Workbook_Events
{
    BeforeClose(Cancel)
    {
        msgbox % "closing"
    }
}

希望有所帮助