有一阵子没写博客了,各种琐事忙碌;前段时间接触了下WPS的宏功能,抽点时间写个学习笔记吧。

案例背景简单说一下,主任让我统计OA后台在建工程项目的概况,后台数据导出一张表,再问隔壁经营部的同事要了一张中标项目统计表。开始想着挺简单的,直接整合两张表的项目名称,两列数据筛选标记出重复值就行;然而OA后台统计的字段名是“工程合同”,经营部统计的是“项目名称”,双方数据并不能直接筛选重复值,“工程合同”=“项目名称”+“xxx合同”。

网上查了下资料,感觉可以用WPS的宏功能解决,果断开搞。
PS:WPS宏支持JS和VB两种模式,由于之前做过一段时间的web前端开发,对JS语言更熟悉,所以用的JS模式。

直接写几行测试代码上手:

function test()
{var xmmc_arr = Range("B4:B60").Value();console.log('test');console.log(xmmc_arr);console.log(JSON.stringify(xmmc_arr));
}

F5看下运行效果,可见变量是不能直接通过console调试的,要通过JSON.stringify()方法将JavaScript值转换为JSON字符串,这是一个小小的坑。

有宏录制的功能,即使在不查API文档的情况下,也能知道一些操作代码。这里直接使用js的includes()方法,对每个单元格的字符串做对比。
直接放上最终代码,顺便附上相关文档链接:

function Macro1() {var results_xmarr = [];var results_htarr = [];//读取对应单元格的数据var xmmc_arr = Range("B4:B60").Value();var htmc_arr = Range("J2:J77").Value();for (var x of xmmc_arr) {for (var y of htmc_arr) {if (y[0].includes(x[0])) {results_xmarr.push(x);results_htarr.push(y);}}}//在指定单元格写入数据Range("H2:H77").Value2 = results_xmarr;Range("I2:I77").Value2 = results_htarr;
}

WPS JS宏入门视频教程:
https://www.wps.cn/learning/course/detail/id/330734.html
WPS JS宏API文档:
https://open.wps.cn/docs/client/wpsLoad
Excel VBA 参考文档:
https://learn.microsoft.com/zh-cn/office/vba/api/overview/excel

WPS的简单JS宏应用相关推荐

  1. 【WPS】使用JS宏进行合并表

    WPS使用JS宏进行合并表 大家在遇到一个 excel,有多个 sheet(如下图),想要把所有sheet的内容合并到一个 sheet 里面,这个时候就需要用到合并表的功能.使用 WPS,也有两种方法 ...

  2. wps宏编辑器-js宏录制运行

    WPS开放平台如下描述JS宏录制和运行. WPS宏编辑器提供了一个自动生成JS代码的功能,即录制宏.录制宏功能通过宏录制器捕捉用户与WPS交互的操作,并以JS代码的形式记录下来,整个过程是自动的,不需 ...

  3. wps宏编程js宏编辑器之代码调试讲解

    继前几篇wps js宏编程基础知识,wps开放平台就js宏编辑器的介绍说明,es6基本语法讲解后,相信大家对wps js宏编程有了一定认识,已经会用js在wps表格中实现一些简单的功能,编写js宏代码 ...

  4. wps js宏写一个可以批量合并Excel文件表格数据的工具

    wps发布JS宏编辑器的功能已经很久了,今天尝试写了个非常简单的Excel表格合并的工具,发现真的是吊打VBA语言!就是有个小小的缺点:不支持外接程序和ActiveX控件,有点可惜,不过终于可以摆脱V ...

  5. wps js宏模拟cookie绕过网站登录验证请求数据

    首先说明wps js宏还没有调用Win系统组件的方法,这里用shell函数调用cmd命令来执行nodejs https模块相关代码,需要安装node.js,并且对node.js.npm有一定了解. 以 ...

  6. WPS JS宏表格定位实例

    工具软件:WPS JS宏编辑器 实例功能: 给你这样的功课表,将各位老师的功课定位到任课情况中去. 任课情况表: 本实例的定位要实现将功课表的各教师任教情况定位到表中,实现上有一定的难度. 代码实现思 ...

  7. 【WPS】WPS的JS宏脚本编写总结

    1 背景 使用WPS表格,需要删除偶数行数据. 如图,第3.4行和第5.6行中有合并的单元格,我要删除第4.6.8行,数据自动会落在剩下的行里. 2 代码 // 运行环境:WPS JS宏编辑器 // ...

  8. WPS JS 宏实现表间导入

    工具软件:WPS JS宏编辑器 前言: 我们在工作过程中往往出现一个表复制部分数据到另一个表,并且两个表有部分内容是相同的,数量也比较多,这种情况下,使用WPS JS宏进行表间数据导入十分方便快捷! ...

  9. wps js宏中使用Lodash

    文章目录 前提条件 使用 Lodash 源码 最好放在单独的模块中 使用 立即窗口测试 宏内测试 不理想的编程体验 Thu Jul 01 2021 01:38:12 GMT+0800 Lodash 只 ...

最新文章

  1. Educational Codeforces Round 9 F. Magic Matrix 最小生成树
  2. 小球大作战-搜索优化
  3. boot spring 怎么执行hql_彻底透析SpringBoot jar可执行原理
  4. 【Java6】Date类/Calendar类,System类/Math类,包装类,集合,泛型,内部类
  5. 常用的前端JavaScript方法封装(49种)
  6. 这套网红试卷火了!数学老师您应该是文案出身吧?
  7. 《写给程序员的数据挖掘实践指南》——5.2. 10折交叉验证的例子
  8. 《Excel图表之道》学习与阅读启示(一)
  9. 三步完成自动抢票,又一款春节免费抢票神器推荐
  10. xps 转 pdf android版,xps文件转换pdf
  11. OpenStack环境下安装Mistral
  12. python 读取geotiff_从GeoTIFF文件中获取经度和纬度
  13. 来看看小夏的链表讲解吧---从单链表到输入输出,查找元素,删除结点。---谨以此文祝朋友们生日快乐与官宣发糖。
  14. eclipse中在包内建包
  15. c#MVC文件(图片,word,excel,zip等)批量上传
  16. 网易云歌单歌曲实时拉取
  17. 【控制control】机械臂运动学、动力学模型
  18. Python爬虫系列(2)
  19. 开发过程中的算法小技巧:
  20. 电路与模拟电子技术第三章(要点及部分习题)

热门文章

  1. Windows 2008-NAP技术初探
  2. 串口console乱码_串口显示乱码的原因总结 有关串口乱码的问题的解决办法
  3. 计算机专业问未来有什么理想,我和计算机
  4. 方方正正——贪心+01矩阵
  5. 连接oracle的驱动包,连接oracle数据库驱动包
  6. Credit Risk Modeling
  7. vue中如何返回历史路由_产品分析丨VUE如何在Vlog大潮中稳步发展
  8. 教你如何攻克Kotlin中泛型型变的难点(应用篇)
  9. google glog简介
  10. C语言用*号输出任意行数的W图案(for实例)