如何判断指定的Excel文件被打开了?[已解决]
本帖最后由 xms77 于 2014-6-15 08:55 编辑我的代码需要通过excel对象来打开某个Excel文件来进行改动,但是在打开这个Excel文件之前,想检测一下这个excel文件是否已经被打开了,如果打开了就先关闭它。现在是我要用什么办法来判断这个excel文件是被打开的?其他excel文件打开可以不管。 $xls="d:\document\123.xls"
$excelapp=objget("","excel.application")
if isobj($excelapp) then
for $wb in $excelapp.workbooks
if stringlower($wb.fullname)=$xls then
msgbox(0,"","文件已打开")
$wb.close(true)
exitloop
endif
next
endif这样试下,其实得到操作句柄后可以直接操作了,不需要关闭吧 回复 2# kevinch
果然很好用,学习了,谢谢! 回复 2# kevinch
Kevinch你好,请问:根据你的代码,发现这个excel文件已经打开了,如果我要操作这个excel文件,我该如何得到如下代码中的$oExcel对象句柄呢?
_ExcelSheetActivate($oExcel, "Raw")
$ArrayStationErrorInfo = $oExcel.cells(4, 32).resize(119, 2).value $xls="d:\document\123.xls"
$excelapp=objget("","excel.application")
if isobj($excelapp) then
for $wb in $excelapp.workbooks
if stringlower($wb.fullname)=$xls then
$ArrayStationErrorInfo = $wb.activesheet.cells(4,32).resize(119,2).value
exitloop
endif
next
endif这个试下 回复 5# kevinch
好东东,感谢分享 回复 5# kevinch
谢谢,有效! 感谢,感谢,非常感谢 不知道行不行,试试吧,从进程id走,找excel启动的参数,不过我不确定行不行,曾经试过word,好像先开和后开不一样
页:
[1]