根据窗口信息判断其对应的进程并将其结束[已解决]
本帖最后由 leon460 于 2011-5-31 20:41 编辑举个例子:我有三个excel文件1.xls、2.xls、3.xls并用excel软件打开,这样就会产生三个excel.exe进程。请问我怎样根据窗口信息(打开2.xls文件时能读到)判定其对应的进程?
如二楼和三楼所说,我使用excel2003,只有一个进程,当我结束我用winclose结束 窗口时,会影响到 整个excel打开的文档。比如,我只想关闭2.xls,,但是它却连我1.xls、3.xls窗口也关闭掉!!!Opt("WinTitleMatchMode", 2)
$i=1
$j=0
Do
If WinExists("生产排程") Then
$j=$j+1
If $j=5 Then
WinClose("生产排程")
$j=0
EndIf
EndIf
Sleep(1000)
Until $i=0 非常感谢。 根据窗口标题
Microsoft Excel - 1.xls
Microsoft Excel - 2.xls
使用内置函数WinGetProcess获取进程PID
不过,我在Excel2003中同时打开n个xls文件,都只是同一excel.exe进程. 回复 2# easefull
多个进程还好办,单个的话反而难搞
我这里也是单个进程 的 好像要使用对象,之类的东西,不太懂 自己再顶下,有知道 的人,希望帮忙出出主意,,谢啦 微软的办公软件确实有对象接口的,用那个方便点,不过我也不太懂 回复 6# 飘云
继续顶,呵呵, _ExcelBookClose($oExcel [, $fSave = 1 [, $fAlerts = 0]]) 本帖最后由 leon460 于 2011-5-11 09:26 编辑
回复 8# dyd
这个函数只能 利用_ExcelBookOpen或者 _ExcelBooknew 返回的 $oExcel
我怎样读取已经打开的excel文件 $oExcel 信息 ?从而利用_ExcelBookclose函数??? 回复 9# leon460
_ExcelBookClose
--------------------------------------------------------------------------------
关闭活动工作簿并删除指定的 Excel 对象.
#Include <Excel.au3>
_ExcelBookClose($oExcel [, $fSave = 1 [, $fAlerts = 0]])
参数
$oExcel 由前面调用 _ExcelBookOpen() 或者 _ExcelBookNew() 函数返回的 Excel 对象
$fSave [可选参数] 关闭前是否保存 (0 = 不保存, 1 = 保存;默认 = 1)
$fAlerts [可选参数] 禁用/启用 Excel 消息警告(弹出警告窗口,0 = 禁用, 1 = 启用; 默认 = 0)
返回值
成功: 返回 1
失败: 返回 0, 并设置 @error:
@error: 1 - 指定的对象不存在
2 - 文件已存在, 但未设置覆盖标志
备注
None
相关函数
函数示例
; ***************************************************************
; 实例 1 - 使用默认参数打开一个新的 Excel 窗口并关闭它
; *****************************************************************
#include <Excel.au3>
$oExcel = _ExcelBookNew() ; 实例 1 - 创建一个 Microsoft Excel 窗口
_ExcelBookClose($oExcel) ;默认情况下,将自动保存在"我的文档"文件夹中
; ***************************************************************
; 实例 2 - 使用默认参数打开一个新的 Excel 窗口并关闭它
; *****************************************************************
#include <Excel.au3>
$oExcel = _ExcelBookNew() ; 实例 1 - 创建一个 Microsoft Excel 窗口
_ExcelBookClose($oExcel, 0) ;将有两种可能: 1) 关闭文件, 或 2) 如果 Excel 窗口已改变, 则提示用户
; ***************************************************************
; 实例 3 - 使用默认参数打开一个新的 Excel 窗口并关闭它
; *****************************************************************
#include <Excel.au3>
$oExcel = _ExcelBookNew() ; 实例 1 - 创建一个 Microsoft Excel 窗口
_ExcelBookClose($oExcel, 1, 0) ;此方法将保存,然后关闭该文件,并且不出现任何正常的提示 回复 10# annybaby
谢谢了,又有新的问题了,,
这个函数只能 利用_ExcelBookOpen或者 _ExcelBooknew 返回的 $oExcel
我怎样读取已经打开的excel文件 $oExcel 信息 ?从而利用_ExcelBookclose函数??? 回复 9# leon460
在UDF里有帮忙信息
页:
[1]