首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYOB -任务自动化

MYOB -任务自动化
EN

Stack Overflow用户
提问于 2013-01-13 16:15:50
回答 1查看 680关注 0票数 0

有没有工具可以自动从MYOB (AccountRight +)导出所有报告?我尝试过AutoIt和Sikuli,但似乎鼠标点击(和键盘发送/键入命令)在某种程度上被忽略了。有可能吗?下面是我正在使用的AutoIt脚本:

代码语言:javascript
复制
    #include <ImageSearch.au3>
    #include <WinAPI.au3>
    #include <Constants.au3>
    $x1=0
    $y1=0
    WinActivate("AccountRight Plus")
    Sleep(200)
    $result = _ImageSearch("Accounts.bmp",1,$x1,$y1,0)
    if $result=1 Then
        MouseMove($x1,$y1,3)
        MouseClick("left")
        Sleep(1000)
        MouseClick("left")
        $aMouse = MouseGetPos() ; Remembers current mouse position
        ConsoleWrite("Mouse Clicked at " & $aMouse[0] & "," & $aMouse[1] & @LF)
        Sleep(500)
        ;Try with Handle
        Local $handle = WinGetHandle("AccountRight Plus")
        If @error Then
            MsgBox(4096, "Error", "Could not find the correct window")
        Else
            ConsoleWrite("$handle = " & $handle & @LF)
            ControlSend($handle, "", "", "^i")
        EndIf
        Sleep(1000)
        ;try winAPI
        ;MsgBox(0, "Info", "Moving mouse")
        _WinAPI_Mouse_Event($MOUSEEVENTF_MOVE, 653, 454)
        _WinAPI_Mouse_Event($MOUSEEVENTF_LEFTDOWN)
        Sleep(500)
        _WinAPI_Mouse_Event($MOUSEEVENTF_LEFTUP)
        ; try Control Click
        $controResult=ControlClick("ABC - Command Centre",20806,"left",2,62,106)
        ConsoleWrite("controlResult = " & $controResult & @LF)
        Sleep(1000)
        ; try ControSend to inner frame
        $controResult=ControlSend("AccountRight Plus","ABC- Command Centre",20806,"{TAB}")
        ConsoleWrite("controlResult = " & $controResult & @LF)
        Sleep(1000)
        ; try ControSend to outer frame
        $controResult=ControlSend("AccountRight Plus","","","{ALT}")
        ConsoleWrite("controlResult = " & $controResult & @LF)
        Sleep(1000)
        ; try with CLASS
        $controResult=ControlSend("AccountRight Plus","","[CLASS:MDIClient; INSTANCE:1]","{TAB}")
        ConsoleWrite("controlResult = " & $controResult & @LF)
        Sleep(1000)
        ; try send
        Send("{TAB}")
        Sleep(1000)
        Send("{TAB}")
        Sleep(1000)
        ;try MenuSelect
        WinMenuSelectItem("AccountRight Plus", "", "&File")
        Sleep(1000)
        MsgBox(0,"Found","picture found.")
            EndIf
EN

回答 1

Stack Overflow用户

发布于 2013-01-25 18:01:01

努什,,

您是否尝试过在应用程序中直接使用扫描码?

下面是一个例子。它在当前位置单击鼠标,然后发送{Tab}。您需要根据需要更改此设置。您可以先使用"MouseMove,150,250“将鼠标移动到正确的位置,这些是X,Y位置。

代码语言:javascript
复制
F8:: ; Press F8 to start macro
Send, {vk01} ; Click left mouse button
;Send, {scYYY} ; 
Send, {vk09sc00F} ; Send the Vk and SC codes for the {Tab} key.
Return

如果有效,请让我知道

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14301783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档