作者UndeadSion (UndeadSion)
看板EzHotKey
标题Re: [AHK-] 有指令可以做到监视不在作用中的视窗吗?
时间Fri Jan 23 07:32:18 2009
※ 引述《b19111010 (怡君怎麽会输的…)》之铭言:
: 小的有一个excel档设了每5分钟自动更新网上资料
: 但这个excel不会随时在作用中
: 也就是会开着这个excel去做其他的事情
: 请问可以用哪几个指令或甚麽方法
: 可以监视不在作用中的excel某个储存格一旦出现某些值时
: 发出信号(soundbeep之类的)
以下是 AutoHotkey 使用 COM 存取 Excel 工作表的方法,提供参考
; --------------------------------------------------------------------
; 《使用 COM 存取 Excel 工作表》
;
; 【使用说明】
;
; 1. 下载 COM.zip,将压缩档里的 COM.ahk 与 Script 置於相同路径
;
; COM Standard Library
;
http://www.autohotkey.com/forum/topic22923.html
;
;
Update!
; 由於该作者改版频繁,有时候从上述网址下载的 COM.ahk 不一定能让这个
; Script 正常执行,以下附上测过没问题的版本
;
; COM Standard Library (版本 2009-03-30)
;
http://www.badongo.com/file/14246226
;
; 档案名称:COM.zip
; 档案大小:6,340 Bytes
; MD5 验证:99af3cb6e7d13a733c3744373a81a1b2
;
; 2. 开启 Excel 後再执行 Script,关闭 Excel 前先关闭 Script
;
; 3. 若储存格处於修改状态会发生拒绝存取错误,选择 [是] 继续执行即可
; --------------------------------------------------------------------
#Include, COM.ahk
OnExit, Exit
COM_Init()
oExcel := COM_GetActiveObject("Excel.Application")
oCells := COM_Invoke(oExcel, "Cells", 11, 1) ; 储存格 A11
Loop
{
Value := COM_Invoke(oCells, "Value") ; 读取储存格 A11 的值
If Value = 0 ; 若值等於 0
SoundBeep ; 这里可以改用 SoundPlay 播放音效档
Sleep, 5000 ; 暂停 5 秒
}
Exit:
COM_Term()
由於 AutoHotkey 无法直接处理 Unicode,要是遇到目前语系以外的字元将会被
转换为问号,安装 UAO (Unicode 补完计画) 可以解决转码的问题,不过不推荐
如果不是一定要用 AutoHotkey 的话,建议改用 AutoIt 来写比较好,可以直接
处理 Unicode,而且有现成的 Excel UDF (User Defined Functions) 可以使用
: 顺道一问
: 有指令可以监视windows沈默时间吗?
: 就像电脑没动一段时间就会进入待命模式的功能
: 感谢大家!
AutoHotkey 可以利用内建变数 A_TimeIdle 或 A_TimeIdlePhysical 来判断,
板上文章
#195HIjfY 有些相关说明,不妨参考看看
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.248.159.124
1F:推 b19111010:感谢U大~~! 01/23 08:50
※ 编辑: UndeadSion 来自: 60.248.159.124 (04/15 11:03)