求大佬帮忙做一个WPS动作

动作需求 · 1472 次浏览
RyanPan 创建于 2022-04-15 17:00

工作需要经常要用到WPS的表格排序功能,因为表格会不停的更新内容,更新后每次都需要手动排序,比较麻烦...

我自己也尝试做了一个超简陋的动作,但是一直卡在无法识图这一步(换了好几个识图模块都不行),没办法识别数据是否包含了标题,所以才发贴求助

https://getquicker.net/Sharedaction?code=e9421ee6-1f13-4b00-8d13-08da1e38749d

上面链接是我做的动作,麻烦大佬帮忙看看

如果有大佬帮忙开发个动作让表格内容有更新就自动排序就更好啦~


回复内容
zetalpha 2022-04-15 18:53
#1

你需要什么操作?

RyanPan 回复 zetalpha 2022-04-16 10:30 :

我需要在自定义排序时识别数据是否包含标题一起排序了...wps有时候会自动给我勾上数据包含标题,但我不需要勾上这个

RyanPan 最后更新于 2022-04-16 10:31
zetalpha 2022-04-15 19:55
#2

不清楚需求

地址



zetalpha 最后更新于 2022-04-15 20:10
RyanPan 回复 zetalpha 2022-04-16 10:29 :

大佬  你的动作提示错误了..


RyanPan 回复 zetalpha 2022-04-16 10:31 :
 
1Win-10.0.17763.0 Quicker-1.32.8.0 动作ID:9e410575-62fb-4bd0-83ba-125b950f8a9b 来源动作:59036554-2dbc-44b7-8d1a-08da1e38749d v0
2Log文件路径:C:\Users\Administrator\AppData\Local\Temp\quicker_wps排序_103124-909_log.htm 在资源管理器中查看 复制文件
2开始执行动作:wps排序 2022-04-16 10:31:24
2动作初始化
 
40赋值$= _eval.RegisterAssembly(Assembly.Load("FlaUI.Core")); => -
[in]失败后停止【值/表达式】True
[in]输入【值/表达式】[略]
10赋值模块未定义输出。
101模拟按键A(录入)LeftAlt+ [ D ]
[in]按键【值/表达式】{"CtrlKeys":[164],"Keys":[68]}
152等待时间等待 200 ms
[in]等待时间【值/表达式】200
[in]等待窗口关闭时取消【值/表达式】False
2213模拟按键A(录入)S
[in]按键【值/表达式】{"CtrlKeys":[],"Keys":[83]}
2254等待时间等待 200 ms
[in]等待时间【值/表达式】200
[in]等待窗口关闭时取消【值/表达式】False
4335获取窗口信息/查找窗口查找顶层窗口 (单个窗口)
[in]失败后停止【值/表达式】True
[in]目标窗口【值/表达式】findWindow
[in]窗口类名【值/表达式】
[in]窗口名称【值/表达式】排序
[in]进程名/pid【值/表达式】
[in]仅可见窗口【值/表达式】default
[in]使用正则匹配窗口类名和标题【值/表达式】False
[out]句柄=>handle199626
[in]窗口位置包含不可见边框(阴影区域)【值/表达式】False
4336窗口界面控制(FlaUI)获取窗口控件信息 /CheckBox
[in]失败后停止【值/表达式】True
[in]操作类型【值/表达式】GetControlInfo
[in]窗口【变量 handle】199626
[in]控件XPath或Name【值/表达式】/CheckBox
[in]控件类型【值/表达式】0
[out]控件名称=>controlName数据包含标题(H)
[out]值=>value
[out]原始对象=>elementAutomationId:, Name:数据包含标题(H), ControlType:复选框, FrameworkId:Qt
6167赋值$={element}.AsCheckBox().IsToggled; => {isSuccess}
[in]失败后停止【值/表达式】True
[in]输入【值/表达式】[略]
[out]输出=>isSuccessTrue
6198提示消息{isSuccess}
[in]消息内容【变量 isSuccess】True
[in]类型【值/表达式】Info
[in]最大行数【值/表达式】0
[in]风格【值/表达式】Default
[in]点击命令【值/表达式】
6269如果判断条件:{isSuccess}
[in]如果【变量 isSuccess】True
627执行 True 分支, 共 2 步骤
 
6279.0鼠标输入单击 ,
627已禁用,跳过
6279.1模拟按键A(录入)Insert
627已禁用,跳过
62710鼠标输入主要关键字
627已禁用,跳过
62711等待时间等待 200 ms
627已禁用,跳过
62712鼠标输入列E
627已禁用,跳过
62713等待时间等待 200 ms
627已禁用,跳过
62714鼠标输入确定
627已禁用,跳过
627动作结束
zetalpha 2022-04-16 10:39
#3

能运行是把? 更新了试一试

RyanPan 回复 zetalpha 2022-04-16 10:49 :

还是不行 楼下有调试运行结果

zetalpha 回复 RyanPan 2022-04-16 10:51 :

是报错还是?

RyanPan 回复 zetalpha 2022-04-16 10:58 :

打开排序窗口后没有反应....

RyanPan 2022-04-16 10:49
#4
 
0Win-10.0.17763.0 Quicker-1.32.8.0 动作ID:ae190116-4601-4d4b-859a-1cd90aa49d6b 来源动作:59036554-2dbc-44b7-8d1a-08da1e38749d v1
0Log文件路径:C:\Users\Administrator\AppData\Local\Temp\quicker_wps排序_104743-796_log.htm 在资源管理器中查看 复制文件
0开始执行动作:wps排序 2022-04-16 10:47:43
0动作初始化
 
00赋值$= _eval.RegisterAssembly(Assembly.Load("FlaUI.Core")); => -
[in]失败后停止【值/表达式】True
[in]输入【值/表达式】[略]
8赋值模块未定义输出。
81模拟按键A(录入)LeftAlt+ [ D ]
[in]按键【值/表达式】{"CtrlKeys":[164],"Keys":[68]}
152等待时间等待 200 ms
[in]等待时间【值/表达式】200
[in]等待窗口关闭时取消【值/表达式】False
2223模拟按键A(录入)S
[in]按键【值/表达式】{"CtrlKeys":[],"Keys":[83]}
2264等待时间等待 200 ms
[in]等待时间【值/表达式】200
[in]等待窗口关闭时取消【值/表达式】False
4335获取窗口信息/查找窗口查找顶层窗口 (单个窗口)
[in]失败后停止【值/表达式】True
[in]目标窗口【值/表达式】findWindow
[in]窗口类名【值/表达式】
[in]窗口名称【值/表达式】排序
[in]进程名/pid【值/表达式】
[in]仅可见窗口【值/表达式】default
[in]使用正则匹配窗口类名和标题【值/表达式】False
[out]句柄=>handle724054
[in]窗口位置包含不可见边框(阴影区域)【值/表达式】False
4336窗口界面控制(FlaUI)获取窗口控件信息 /CheckBox
[in]失败后停止【值/表达式】True
[in]操作类型【值/表达式】GetControlInfo
[in]窗口【变量 handle】724054
[in]控件XPath或Name【值/表达式】/CheckBox
[in]控件类型【值/表达式】0
[out]控件名称=>controlName数据包含标题(H)
[out]值=>value
[out]原始对象=>elementAutomationId:, Name:数据包含标题(H), ControlType:复选框, FrameworkId:Qt
5937赋值$={element}.AsCheckBox() => {chk}
[in]失败后停止【值/表达式】True
[in]输入【值/表达式】[略]
[out]输出=>chkAutomationId:, Name:数据包含标题(H), ControlType:复选框, FrameworkId:Qt
5958赋值$={chk}.IsToggled; => {isSuccess}
[in]失败后停止【值/表达式】True
[in]输入【值/表达式】[略]
[out]输出=>isSuccessTrue
5969如果/否则判断条件:{isSuccess}
[in]如果【变量 isSuccess】True
596执行 True 分支, 共 2 步骤
 
5969.0鼠标输入单击 ,
596已禁用,跳过
5969.1模拟按键A(录入)Insert
596已禁用,跳过
59610鼠标输入主要关键字
596已禁用,跳过
59611等待时间等待 200 ms
596已禁用,跳过
59612鼠标输入列E
596已禁用,跳过
59613等待时间等待 200 ms
596已禁用,跳过
59614鼠标输入确定
596已禁用,跳过
596动作结束
zetalpha 2022-04-16 11:13
#5


RyanPan 回复 zetalpha 2022-04-16 11:17 :

謝謝大佬

湘喑 2022-04-16 11:14
#6

用窗口界面控制模块,取消勾选就行了,如图

也可以说下具体需求,我可以帮你用VBS代码解决

RyanPan 回复 湘喑 2022-04-16 11:18 :

这个模块就可以了,謝謝大佬

RyanPan 回复 湘喑 2022-04-16 11:53 :

大佬 还有个问题,我应该怎么去获取这个地方的控件类型、控件名、动作?

湘喑 回复 RyanPan 2022-04-16 12:02 :

这是这个模块里,有个获取控件信息,也可以用https://getquicker.net/Sharedaction?code=0eb88124-98f8-4743-5e7a-08da1f2ef538这个动作获取。但你这个控件应该识别不了,窗口控件局限性很大的,而且你要用调用WPS快捷键的方法来实现排序,有几率会出现失败的情况,可以和我说下需求我帮你用VBS实现,VX:zuililiunian

RyanPan 回复 湘喑 2022-04-16 12:05 :

确实识别不了....识别了出来的信息也没有控件名无法进行下一步....

我是想知道怎么弄的,下次自己才会弄,不用一直麻烦大佬们

回复主贴