按键精灵教程:自动复制粘贴到Excel单元格的方法详解

目录

  • 1. 简介:
  • 2.应用场景:
  • 3.源文件:
  • 1. 简介:

    本文将分享按键精灵(Q语言)的一个脚本使用,自动实现从输出窗口A中,将输出的数据内容复制,然后粘贴到事先设置好的Excel表格B中。

    2.应用场景:

    需n次重复执行复制粘贴操作至Excel表格的不同单元格中(依次)。注意:因使用屏幕坐标进行定位,因此不同分辨率的桌面,运行脚本前需更改坐标参数。
    更改坐标参数可通过按键精灵App中“抓抓”功能获取坐标,如下图:
    话不多说,直接上代码。

    3.源文件:

    /*功能:
    自动采集单片机串口打印窗口A数据,并粘贴到execl窗口B指定单元格中 
    多次循环采集*/
    
    /*****************	使用脚本前请修改如下参数	***************/
    Count = 6   //循环采集次数,可修改
    x0 = 472	//0:“发送数据”按钮坐标
    y0 = 292
    x1 = 357	//1:“填入excel表格的第一个数据”单元格坐标
    y1 = 520
    z1 = 140	//1:单元格之间的间隔
    waitime = 6000 		//等待6秒
    Log_path = "D:\新建文件夹\a.log"	//创建日志文件 a.log ,路径
    
    /*****************	使用脚本前请修改如上参数	***************/
     
    VBSBegin	//插入VBScript代码块
    
    	Dim result
    	result = MsgBox("是否开始数据采集?”," & chr(13) & "取消,将退出脚本运行!", vbOKCancel,"数据采集")
     	If result = vbCancel Then 
     		MessageBox "欢迎下次使用!"
     		ExitScript 
     	ElseIf result = vbOK Then
     		'空语句
     	End If
     
    VBSEnd
    
    LogStart Log_path 	//开始记录日志
    For i=1 To Count	//for循环
        
    	TracePrint "采集成功次数:" & i   
    	Call Plugin.Msg.ShowScrTXT(500, 0, 1024, 768, "正在进行第 " & i &"次数据采集,请勿移动鼠标!", "0000FF")	//屏幕中显示提示字体
    	
    	'==========以下是操作窗口A==========
    	MoveTo 565,120		//选定窗口A
    	Delay 1000
    	LeftClick 1
    	
    	MoveTo 565,120		//移动鼠标到“需要复制的文本”初始处
    	Delay 100
    	LeftClick 1			//左键单击1次
    	Delay 100
    	
    	MoveTo 565,120		//选中字符串
    	Delay 1000
    	LeftDown 1			//左键按下
    	MoveTo 840,120
    	Delay 1000
    	LeftUp 1			//左键弹起
    	Delay 1000
    	
    	KeyDown 17, 1		//Ctrl+C
    	KeyPress 67, 1
    	KeyUp 17, 1
    	Delay 5
    	
    	MoveTo x0,y0		//点击“发送数据”,获取下一次需要复制粘贴的数据
    	Delay 1000
    	LeftClick 1
    	Delay 1000	
    	
    	'==========以下是操作窗口B==========
    	
    	MoveTo 713,591		//选定窗口B(Excel表格)
    	Delay 1000
    	LeftClick 1
    	Delay 1000
    	
    	s = x1 + i*z1
    	
    	'MessageBox "x:"&s &"y:" &y1
    	MoveTo s,y1		//定位单元格,依次将采集数据复制到6个不同的单元格中
    	Delay 1000
    	LeftClick 1
    	Delay 1000
    	
    	KeyDown 17, 1		//Ctrl+V
    	KeyPress 86, 1
    	KeyUp 17, 1
    	Delay waitime
     
    Next
    
    Call Plugin.Msg.ShowScrTXT(500, 0, 1024, 768, "数据采集已完成!", "0000FF")
    LogStop //记录日志停止  
    
    
    ExitScript
    
    
    物联沃分享整理
    物联沃-IOTWORD物联网 » 按键精灵教程:自动复制粘贴到Excel单元格的方法详解

    发表评论