【问题标题】:Autohotkey - Intercept Targeted Window Close Command?Autohotkey - 拦截目标窗口关闭命令?
【发布时间】:2016-01-29 07:06:35
【问题描述】:

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

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

我发现几个参考资料表明 vba 可以“轻松”翻译成 COM这将让我监视“关闭”命令的窗口。

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

【问题讨论】:

  • 关闭时运行的脚本的性质是什么?文件关闭后可以在文件上运行吗?

标签: vba excel com autohotkey


【解决方案1】:

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

这是两者中最简单的一个

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

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

希望对你有帮助

【讨论】:

  • 我还在工作,但我会尽快测试它!非常感谢!
  • 太棒了!我不得不玩它只是一点点,但它正是我想要的!嘎!我不太清楚如何发布由行分隔的代码,但基本上在开头添加了#Persistent,在函数中添加了ExitApp,它运行良好!现在我只需要修改我自己的代码并将其插入其中...非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-03
  • 2014-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多