小白学习日记4excel函数

这个系列主要是作为我的学习笔记,记录一下代码和心得防止丢失.

部分代码来自ahk群内热心群友,感谢诸位群友帮助  岁月如歌,僵尸,蜜罐哥,汤瞬,dbgba,无名,小马哥,枫叶,空 ,飞跃大佬等(排名不分先后).

首先感谢飞跃大佬的函数,基于飞跃大佬的成果完成一系列

 

最近用excel的获取对象函数实现了几个小功能,主要就是把网页上数据粘贴到表格要么就是表格粘贴到网页.

loop 100
{
  
  ;简单的调用excel模型
objExcel:=Excel_Get()   ;-- 获取COM对象
y:=objExcel.ActiveCell.Row
x:=objExcel.ActiveCell.Column  ;-- 获取当前激活的单元格的行号(y)、列号(x)

arr:=[]  ;-- 读取当前行的所有文本数据到一个数组中(取文本值用“.Text”)
Loop, % x-1
  arr.Push( objExcel.Cells(y,A_Index).Text )

  名称:=arr[3]
  数量:=arr[8]
  单价:=arr[9]
  判断:=arr[14]
if 判断=""
break
  SendInput,%名称%
  Sleep 500
  SendInput,{Enter 2}
  SendInput,%数量%
  Sleep 500
  SendInput,{Enter 2}
  SendInput,%单价%
  Sleep 500
  SendInput,{Enter 3}
  Sleep 500
  objExcel.Cells(y,15).Value:="已录入"
  Sleep 500
  objExcel.Cells(y+1,15).Activate
  MsgBox,成功下来
}
return

简单展示一个录入入库单的示例.

y:=objExcel.ActiveCell.Row
x:=objExcel.ActiveCell.Column

arr:=[]  ;– 读取当前行的所有文本数据到一个数组中(取文本值用“.Text”)
Loop, % x-1
  arr.Push( objExcel.Cells(y,A_Index).Text )

 

有段时间我发现我用excel函数老有错误不知道怎么发生的,后来知道了,上面这几句话不要放在循环的外面,一定要在loop的里面才行.

这几句话实际上就是给xy赋予当前激活单元格的行列号的作用,很多地方缺了这个直接就错误了.

 

还有就是这个arr[1]这样的表示第几个单元格的使用,比如a:=arr[1]一定要加:,不加的话也是不太对这里,这里我也不太清楚为啥一定要加,有了解的老哥能帮忙解答一下吗?

 

objExcel.Cells(y,15).Value:=”已录入”

然后就是这个,可以自己更改单元格里面的数字,实际上这就是和vba里面的cell()语法一样的,怎某些情况下固定一个数字填表比较准确.

总结一下其实ahk操作excel还是通过对象,最近发现可以先在excel里面录制宏或者写出vba然后改一改拿到ahk里面,不过只有对象才能拿过来,然后一些宏录制出来的东西也是不行的.

给TA捐赠
共{{data.count}}人
人已捐赠
教程

小白学习日记3字符串截取操作心得

2022-1-14 21:48:43

教程

小白学习日记5 switch

2022-1-15 23:47:56

2 条回复 A文章作者 M管理员
  1. user13945

    感谢分享

  2. 理查德

    感谢分享~~

个人中心
购物车
优惠劵
有新私信 私信列表
搜索