实时监控Excel表格是否打开[已解决]
本帖最后由 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)
检测进程
固定标题的标题栏是否出现
excel文件打开会在同一个目录下生成一个隐藏的缓存文件,检测文件是否生成 回复 2# ac5474012
确实有一个以 ~$ 开通的文件生成,我能进一步控制这个AU3打开的EXCEL表格吗,阻止使用者关闭这个表格。 回复 3# heroxianf
http://www.excelpx.com/home/show.aspx?id=32409&cid=27 回复 3# heroxianf
http://bbs.csdn.net/topics/290018267 采用检查生成文件 就想到这个笨办法,但是有时候会检测不到是否被打开了。
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 & '~$' & $Path2
If FileExists($file) Then
MsgBox(0, '', 'ok')
Else
MsgBox(0, '', 'no')
EndIf 第一次打开保存路径到变量里,随着使用的时间增长,或是多次关闭,后期捕获不到变量的值导致判断失败,解决问题是第一次打开读取整理路径到INI文件里,后期读取INI文件判断。{:face (197):}
页:
[1]