找回密码
 加入
搜索
查看: 2149|回复: 6

[AU3基础] 实时监控Excel表格是否打开[已解决]

[复制链接]
发表于 2016-11-18 12:41:47 | 显示全部楼层 |阅读模式
本帖最后由 heroxianf 于 2016-11-24 22:00 编辑

启动程序就打开表格,如何实时监控这个表格是否是打开的呢?如果通过AU3打开的表格被退出程序跟着退出。有思路指点一下吗!


#include <Excel.au3>
#include <MsgBoxConstants.au3>

; Create application object
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox(16, "Excel UDF: _Excel_BookOpen Example", "Error creating the Excel application object." & @CRLF & "@error = " & @error & ", @extended = " & @extended)

; *****************************************************************************
; Open an existing workbook and return its object identifier.
; *****************************************************************************
Local $sWorkbook = @ScriptDir & "\Extras\_Excel1.xls"
Local $oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookOpen Example 1", "Error opening '" & $sWorkbook & "'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookOpen Example 1", "Workbook '" & $sWorkbook & "' has been opened successfully." & @CRLF & @CRLF & "Creation Date: " & $oWorkbook.BuiltinDocumentProperties("Creation Date").Value)
发表于 2016-11-18 13:22:56 | 显示全部楼层
检测进程
固定标题的标题栏是否出现
excel文件打开会在同一个目录下生成一个隐藏的缓存文件,检测文件是否生成
 楼主| 发表于 2016-11-18 13:37:33 | 显示全部楼层
回复 2# ac5474012


    确实有一个以   ~$ 开通的文件生成,我能进一步控制这个AU3打开的EXCEL表格吗,阻止使用者关闭这个表格。
发表于 2016-11-19 03:15:46 | 显示全部楼层
发表于 2016-11-19 03:17:41 | 显示全部楼层
回复 3# heroxianf


    http://bbs.csdn.net/topics/290018267
 楼主| 发表于 2016-11-24 11:42:58 | 显示全部楼层
采用检查生成文件 就想到这个笨办法,但是有时候会检测不到是否被打开了。
Local $Excel_File = FileOpenDialog("浏览EXCEL格式", "", "EXCEL2010格式(*.xlsx)|EXCEL2007以下格式(*.xls)", 1)

Local $Path1 = StringRegExp($Excel_File, '.+\\', 3)
Local $Path2 = StringRegExpReplace($Excel_File, '.+\\', '')
Local $Excel_Path = $Path1[0] & '~$' & $Path2

If FileExists($file) Then
        MsgBox(0, '', 'ok')
Else
        MsgBox(0, '', 'no')
EndIf
 楼主| 发表于 2016-11-24 22:00:27 | 显示全部楼层
第一次打开保存路径到变量里,随着使用的时间增长,或是多次关闭,后期捕获不到变量的值导致判断失败,解决问题是  第一次打开读取整理路径到INI文件里,后期读取INI文件判断。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 01:23 , Processed in 0.097659 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表