zoukankan      html  css  js  c++  java
  • 【Vegas原创】sendkeys实例

    需求:将excel档更新提醒关闭,并另存为a*.xls.

    dim wsh
    set wsh=wscript.createobject("wscript.shell")
    wsh.run 
    "每日生產狀況表.xls"
    wscript.sleep 
    1000
    wsh.sendkeys 
    "{RIGHT}"
    wscript.sleep 
    100
    wsh.sendkeys 
    "{enter}"
    wscript.sleep 
    100
    wsh.sendkeys 
    "%EK"
    wscript.sleep 
    100
    wsh.sendkeys 
    "%S"
    wscript.sleep 
    100
    wsh.sendkeys 
    "{UP}"
    wscript.sleep 
    100
    wsh.sendkeys 
    "{enter}"
    wscript.sleep 
    100
    wsh.sendkeys 
    "%L"
    wscript.sleep 
    100
    wsh.sendkeys 
    "%FA"
    wscript.sleep 
    100
    wsh.sendkeys 
    "{Left}"
    wscript.sleep 
    100
    wsh.sendkeys 
    "a"
    wscript.sleep 
    100
    wsh.sendkeys 
    "{enter}"
    wscript.sleep 
    100
    wsh.sendkeys 
    "^Y"
    wscript.sleep 
    100
    wsh.sendkeys 
    "%FX"


    详解:

    Private Sub CmdBack_Click()             '发送多个相同字符以及多个功能键 
    TxtStr.SetFocus 
    SendKeys 
    "{余 10}"True '向文本框中发送10个余字,并等待其执行完毕 
    MsgBox "已添加了10个""余""字,要删除咯!"64 '提示信息 
    TxtStr.SetFocus '这一句不是一定要,但为了除止意外,比如msgbox时你把焦点移到了TxtStr之外,在程序中,我们要防止任何可能的错误 
    SendKeys "{BackSpace 10}" '发送10次Back键 
    End Sub 

    Private Sub CmdNote_Click()             '发送组合键 
    Shell "notepad", vbMaximizedFocus    '调用激活记事本程序 
    SendKeys "小丽,天天开心才乖哦!~{F5}"True '发送字符串,其中还有个换行符(在这里可以回车可以当成换行符),注意"~"这个符号代表了回车(Enter),{F5},发送F5到notepad,它将自动插入一个时间 
    SendKeys "%{F4}"True '发其发送一个关闭的消息 Alt + F4 
    SendKeys "y"True '发送Y表示保存 
    Randomize   '初始化随机数生成器 
    SendKeys "小丽无敌" & Str(Int(Rnd * 10000)), True '文件名 
    SendKeys "~"True '发送回车键 (效果相当于点了确定) 
    End Sub 

    Private Sub CmdTaskmgr_Click()          '发送功能键 
    On Error Resume Next '此处用此语句是为了防止第五行发生错误,比如弹出对话框时,你关闭了任务管理器,就会发生错误.你可以把这一行打上注释之后看效果 
        Shell "taskmgr.exe", vbNormalFocus        '调用任务管理器 
        MsgBox "看好了!要关闭咯!"64     '提示信息,此处注意,老公每个程序里的msgbox 都带了图标哦!这是个必须养成的习惯 
        AppActivate "Windows 任务管理器"  '激活作务管理器窗口,以备发送按键 
        SendKeys "{Esc}"True            '发送 ESC 键,任务管理器收到后将关闭 
        AppActivate Me.Caption '激活程序窗口 
    End Sub 

    Private Sub CmdText_Click()             '发送普通文本 
    TxtStr.SetFocus '使文本框得到焦点 
    SendKeys "小丽要天天开心哦{~} {(} 哈哈 {)}" '发送以下字符到文本框,发送字符串不需要特殊的格式,只要在此处输入文本即可 
    '
     + ^ % ~ { } ( ) 这些字符是不是允许直接发送的,如确实需要发送,可以将它们用{}括起来 
    '
    注意,"[]"如果当成字符来发送时,可以不放在{}中,但如果当成按键来发送,就必须放在{}中,一般都放在{}中 
    End Sub 


    '还有几点小常识,以前老公没给你说过#17 例如我想在msgbox 中显示以下的内容 
    '
     小丽,嘿嘿,"这"是一个例子. 
    '
    注意其中的双引号,如果确实需要英文件双引号,则应该用两个双引号来代替,代码如下 
    '
    msgbox "小丽,嘿嘿,""这""是一个例子.",64 

    '另外在很多程序中,有可以用 Alt + 某键 来激活的菜单及按钮 
    '
    具体的实现方法是用 "&" 这个符号来实现此功能,即给那些菜单和按钮中的字符加上下划线,例如以下代码 
    '
    窗体上有一个Command1,当按下 Alt + X 时,可以触发它的单击事件,为何是X?因为它在以下程序中是 "&" 符后的第一个字母 
    '
    不管放在字符串的中间还是开头结尾,其效果都是一样滴. 
    '
    如果确实需要在程序中加入"&"这个符号,而不让其它字符带下划线,可以用两个"&"来代替 
    '
    private sub form_load() 
    '
    command1.caption = "&XCommandButton" 
    '
    end sub 
    '
    private sub command1_click() 
    '
    msgbox "小丽触发了此按钮的单击事件~  ^_^ ",64 
    '
    end sub 
    将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样。

    语法

    SendKeys 
    string[, wait]

    SendKeys 语句的语法具有以下几个命名参数:

    string 必需的。字符串表达式,指定要发送的按键消息。 

    Wait 可选的。指定等待方式的 BooleandefBooleanDataType@veendf98.chm 值。如果为 
    False(缺省值),则控件在按键发送出去之后立刻返回到过程。如果为 True,则按键消息必须在控件返回到过程之前加以处理。 

    说明

    每个按键由一个或多个字符表示。为了指定单一键盘字符,必须按字符本身的键。例如,为了表示字母 A,可以用 
    "A" 作为 string。为了表示多个字符,就必须在字符后面直接加上另一个字符。例如,要表示 A、B 及 C,可用 "ABC" 作为 string

    对 SendKeys 来说,加号 (
    +)、插入符 (^)、百分比符号 (%)、上划线 (~) 及圆括号 ( ) 都具有特殊意义。为了指定上述任何一个字符,要将它放在大括号 ({}) 当中。例如,要指定正号,可用 {+} 表示。方括号 ([ ]) 对 SendKeys 来说并不具有特殊意义,但必须将它们放在大括号中。在其它应用程序中,方括号有特殊意义,在出现动态数据交换 (DDE) 的时候,它可能具有重要意义。为了指定大括号字符,请使用 {{} 及 {}}。

    为了在按下按键时指定那些不显示的字符,例如 ENTER 或 TAB 以及那些表示动作而非字符的按键


    为了说明在按下其它按键时应同时按下 SHIFT、CTRL、及 ALT 的任意组合键,请把那些按键的码放在括号当中。例如,为了说明按下 E 与 C 的时候同时按下 SHIFT 键,请使用 
    "+(EC)"。为了说明在按下 E 的时候同时按下 SHIFT 键,但接着按 C 而不按 SHIFT,则使用 "+EC"

    为了指定重复键,使用 {key number} 的形式。必须在 key 与 number 之间放置一个空格。例如,{
    LEFT 42} 意指 42 次按下 LEFT ARROW 键;{h 10} 则是指 10 次按下 H 键。

    注意 不能用 SendKeys 将按键消息发送到这样一个应用程序,这个应用程序并没有被设计成在 Microsoft Windows 中运行。Sendkeys 也无法将 PRINT SCREEN 按键 {PRTS

    C} 发送到任何应用程序.


    喜欢请赞赏一下啦^_^
  • 相关阅读:
    分享一个自己写的vue多语言插件smart-vue-i18n
    利用vw+rem实现移动web适配布局
    你说前端不了解业务?
    小程序开发总结一:mpvue框架及与小程序原生的混搭开发
    小码农的职场人生一:由张小平离职引发的一些吐槽
    javascript本地缓存方案-- 存储对象和设置过期时间
    手淘移动适配方案flexible.js兼容bug处理
    微信小程序入坑之自定义组件
    vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
    非域环境下使用证书部署数据库(SqlServer2008R2)镜像
  • 原文地址:https://www.cnblogs.com/amadeuslee/p/3744677.html
Copyright © 2011-2022 走看看