If statement 如何确定是否打开了Excel文件?
我的AutoIt脚本打开一个Excel文件并将其移动到桌面,但如果该Excel文件已打开,我发现一个问题,因此我需要在代码中添加一个条件,以便在打开Excel文件时通过 我的代码:If statement 如何确定是否打开了Excel文件?,if-statement,autoit,If Statement,Autoit,我的AutoIt脚本打开一个Excel文件并将其移动到桌面,但如果该Excel文件已打开,我发现一个问题,因此我需要在代码中添加一个条件,以便在打开Excel文件时通过 我的代码: #include<excel.au3> Func _WinWaitActivate($title,$text,$timeout=0) WinWait($title,$text,$timeout) If Not WinActive($title,$text) Then WinActiva
#include<excel.au3>
Func _WinWaitActivate($title,$text,$timeout=0)
WinWait($title,$text,$timeout)
If Not WinActive($title,$text) Then WinActivate($title,$text)
WinWaitActive($title,$text,$timeout)
EndFunc
Func _Au3RecordSetup()
Opt('WinWaitDelay',100)
Opt('WinDetectHiddenText',1)
Opt('MouseCoordMode',0)
Local $aResult = DllCall('User32.dll', 'int', 'GetKeyboardLayoutNameW', 'wstr', '')
If $aResult[1] <> '0000040C' Then
MsgBox(64, 'Warning', 'Recording has been done under a different Keyboard layout' & @CRLF & '(0000040C->' & $aResult[1] & ')')
EndIf
EndFunc
HotKeySet("{F2}", "COMP")
Func COMP()
local $var = "C:\Users\Relkassah\Desktop\changment data.xlsx"
local $oExcel_1 = _Excel_Open()
_Excel_BookOpen($oExcel_1,$var)
Sleep(300)
_WinWaitActivate("changment data - Excel","")
Send("{ALTDOWN}{SPACE}m{ALTUP}")
MouseClick("left")
MouseDown("left")
MouseMove(150,444)
MouseUp("left")
Send("{ALTDOWN}{SPACE}{ALTUP}{DOWN}{DOWN}{DOWN}{DOWN}{ENTER}")
EndFunc
While 1
Sleep(1)
WEnd
#包括
Func\u WinWaitActivate($title,$text,$timeout=0)
WinWait($title,$text,$timeout)
如果不是WinActive($title,$text),则WinActivate($title,$text)
WinWaitActive($title、$text、$timeout)
EndFunc
Func_Au3RecordSetup()
选项('WinWaitDelay',100)
Opt('WinDetectHiddenText',1)
Opt('MouseCoordMode',0)
本地$aResult=DllCall('User32.dll','int','GetKeyboardLayoutNameW','wstr','')
如果$A结果[1]“00000 40 C”,则
MsgBox(64,'警告','录制已在不同的键盘布局下完成'&@CRLF&'(0000040C->'&$aResult[1]&'))
恩迪夫
EndFunc
热键集(“{F2}”,“COMP”)
Func COMP()
本地$var=“C:\Users\Relkassah\Desktop\changement data.xlsx”
本地$oExcel\u 1=\u Excel\u Open()
_Excel\u BookOpen($oExcel\u 1,$var)
睡眠(300)
_WinWaitActivate(“更改数据-Excel”和“”)
发送(“{ALTDOWN}{SPACE}m{ALTUP}”)
鼠标点击(“左”)
鼠标向下(“左”)
鼠标移动(150444)
鼠标(“左”)
发送(“{ALTDOWN}{SPACE}{ALTUP}{DOWN}{DOWN}{DOWN}{DOWN}{ENTER}”)
EndFunc
而1
睡眠(1)
温德
查看此功能,它可能会帮助您:
必须在while循环中添加if语句,例如:
While 1
If WinExists($yourwindow) Then
;do whatever you want here..
EndIf
Sleep(1)
WEnd
此函数将返回true或false值,在打开excel时,它将继续发送true。
\u excel\u Open
set@extended to:0-excel已运行///1-excel未运行或$bForceNew已设置为true。已创建新的Excel实例