heroxianf 发表于 2016-11-18 12:41:47

实时监控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)

ac5474012 发表于 2016-11-18 13:22:56

检测进程
固定标题的标题栏是否出现
excel文件打开会在同一个目录下生成一个隐藏的缓存文件,检测文件是否生成

heroxianf 发表于 2016-11-18 13:37:33

回复 2# ac5474012


    确实有一个以   ~$ 开通的文件生成,我能进一步控制这个AU3打开的EXCEL表格吗,阻止使用者关闭这个表格。

kk_lee69 发表于 2016-11-19 03:15:46

回复 3# heroxianf


    http://www.excelpx.com/home/show.aspx?id=32409&cid=27

kk_lee69 发表于 2016-11-19 03:17:41

回复 3# heroxianf


    http://bbs.csdn.net/topics/290018267

heroxianf 发表于 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 & '~$' & $Path2

If FileExists($file) Then
        MsgBox(0, '', 'ok')
Else
        MsgBox(0, '', 'no')
EndIf

heroxianf 发表于 2016-11-24 22:00:27

第一次打开保存路径到变量里,随着使用的时间增长,或是多次关闭,后期捕获不到变量的值导致判断失败,解决问题是第一次打开读取整理路径到INI文件里,后期读取INI文件判断。{:face (197):}
页: [1]
查看完整版本: 实时监控Excel表格是否打开[已解决]