VFP控制键鼠的组件,电脑自动填报,我刚好可以喝杯咖啡

2023-08-21 17:27:52 浏览数 (1)

最近同事有填报价格的,一万多条记录,从EXEL填到软件里面。想着做一个工具,简单操作,又不容易出错。

拉出猫框,随意做一个表单。

价格选择按钮 click

功能:导入EXCEL

代码语言:javascript复制
lcfile=Getfile("XLS,XLSX")
If !File(lcfile)
  Wait "文件不存在" Windows
  Return .F.
Endif

xx=newobject("importexcel","importexcel.prg")
xx.cursorstruc="货品编码 c(50),货品名称 c(254),货品规格 c(20),比率 I ,单位 c(20),加权价 N(10,2),价格 N(18,6)"

**以下两行也可以改成xx.improt(lcfile,"tmpxxx")
xx.Alias="tmpxxx"
xx.Import(lcfile)

thisform.grid1.RecordSource="tmpxxx"
thisform.grid1.AutoFit()

自动填价按钮click

功能:控制键鼠自动填价

代码语言:javascript复制
IF !USED("tmpxxx")
  MESSAGEBOX("请先导入价格表")
  RETURN 
ENDIF 
robot=Createobject( "Component.Robot.6" )
Select tmpxxx
Go Top
Scan
  With robot
    .SetContext ("FNWND360->Title=库存管理 - [价格维护]", "")
    .Click ("PBEDIT60->ID=10", "Coords=0,5")     
    Scan
      .Input(数量<Down>)
    Endscan
  Endwith
Endscan
Messagebox("任务完成",0,"OK")

导出价格模板

功能:导出模板

代码语言:javascript复制
xx=newobject("importexcel","importexcel.prg")
xx.cursorstruc="货品编码 c(50),货品名称 c(254),货品规格 c(20),比率 I ,单位 c(20),加权价 N(10,2),价格 N(18,6)"

**以下两行也可以改成xx.improt(lcfile,"tmpxxx")
xx.Alias="tmpxxx"
*--导出模板文件
xx.templatetoxls()

运行后,先选择价格导入,再启动自动填价,计算机就刷刷地干活。

同时这个组件也提供了录制功能,可以录制相应的操作,根据录制的结果,我们转为VFP代码即可。

录制的结果为VBS代码,我们可以转换为VFP代码即可。

其实这个界面,我也可以用VFP来设计一下捕捉窗口元素和坐标,方便集成在VFP里面也OK的。

0 人点赞