工作中需实现以下功能
一个软件(全屏的)和execl类似,也是表格
我的目的是要复制每一行的内容到 abc.txt
可该软件只能一次复制一行,不能全选
具体手动流程是
鼠标选中第一行,ctr+c 复制,粘贴到 abc.txt
在回到该软件,按 向下键选中第二行,复制、、粘贴。。
。。。。。。。。。。
一共有300多行
于是我想能否用vbs的模拟按键来执行呢?
拼凑了一堆代码,在记事本中测试能行,可在软件中却只是把第一行复制了300次。
继续测试时发现在 任务管理器界面,根本没有按 向下键的动作
我的代码如下,求各位达人帮忙。。。- Dim ws
- set ws=createobject("wscript.shell")
- WScript.Sleep 10000 '延时10秒
-
- Dim Form, TextBox
- Const ForAppending = 8
- For i = 1 to 5 step 1
- ws.Sendkeys ("^c") '模拟按键 crtl+c
- WScript.Sleep 200
- '获取剪贴板内容
- 'Dim Form, TextBox
- Set Form = CreateObject("Forms.Form.1")
- Set TextBox = Form.Controls.Add("Forms.TextBox.1").Object
- TextBox.MultiLine = True
- If TextBox.CanPaste Then
- TextBox.Paste
- str=TextBox.Text
- End If
-
- '追加文本文件一行内容,文件不存在的话会自动创建
- 'Const ForAppending = 8
- Set var = CreateObject("Scripting.FileSystemObject")
- Set num = var.OpenTextFile ("库存报表.txt", ForAppending, True)
- num.WriteLine(str)
- num.Close
-
- ws.Sendkeys "{DOWN}" '模拟下箭头
- WScript.Sleep 200
- Next
- Wscript.Echo("复制完成")
复制代码
|