WPS下 宏使用js编写及一些脚本
参考文件:
- 1.wps开放平台 WPS 开放平台
- 2.微软word接口 Word (WdColor) | Microsoft Docs
1.打开wps,找到开发工具,切换到js环境,图中已经切换到js了所以显示的是切回vb
2.打开wps宏编辑器 编写第一个函数
上图里面的函数是用录制宏生成的,不靠谱,使用下面这个函数
function helloWPS(){Console.log("hello wps!!");
}function helloWorld(){alert("hello wps");
}function helloWorld2(){Debug.Print("hello world2!!")
}
3. 运行此函数
光标定位在哪一个函数内部,点击运行或F5,会运行此函数。如果不在任何一个函数内,会弹出面板让用户选择运行哪一个! 此函数作用在当前文档上,测试时要在测试文档上运行!!
4.在文档中运行此函数
选择刚才的函数,运行。
5.录制宏
有时需要编写功能但不知道从和下手,点击录制宏,进行操作,再点击停止后可生成参考代码。
此功能不能完全相信,比如录制时按住ctrl进行跨段多选,其生成的代码不能重现用户操作。
6.常用输出信息的方法:
Console.log("调试信息1") //在wps编辑器中首字母需大写
Debug.Print("hello world2!!") //在wps编辑器中首字母需大写
alert("调试信息3")
Console.clear() //清空所有日志
7. 示例脚本
由于我所编写的word文档中表格有130多个,且每个表格的内容都在20-30行左右,需要对表格进行格式化,插入数据等。
以下是我使用的脚本
7.1 给每个表格的第一行加上底色
function changeColorForFirstRowOfEachTable(){//去除所有表格第一行的阴影部分let count = Application.ActiveDocument.Tables.Count;for(let i=1;i<count;i++){let table = Application.ActiveDocument.Tables.Item(i);// 颜色参考 https://docs.microsoft.com/zh-cn/office/vba/api/word.wdcolortable.Rows.Item(1).Cells.Shading.BackgroundPatternColor = wdColorGray30}
}
7.2 每个表格的单元格进行处理 => 去掉首位空格 、去掉收尾回车 、居中
/*三重循环,有点恶心了,但是没办法
*/
function editCellsForTable(){//清理日志Console.clear()let count = Application.ActiveDocument.Tables.Count;for(let i=1;i<=count;i++){let table = Application.ActiveDocument.Tables.Item(i);let rowCount = table.Rows.Count;for(let j=1;j<=rowCount;j++){let rowContent = table.Rows.Item(j);let cellCount = table.Rows.Item(j).Cells.Count;for (let k=1;k<=cellCount;k++){// 获取每一行的celsslet cell = table.Rows.Item(j).Cells.Item(k);let textVal = cell.Range.Text;Console.log("|"+textVal+"|")// 去空格 去换行符 let val = textVal.replace(/[\r\n]/g,"").replace(/(^\s*)|(\s*$)/g, "");cell.Range.Text=val}}// 选中整个table 进行居中Selection.SetRange(table.Range.Start,table.Range.End);Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter;}
}
7.3 格式化每一个table的表头
思路: 选中某一行,点击格式刷,再应用到其他行
function formatTableRowExceptionFirst(){//选中某一行 此数据时由录制宏中生成的函数中摘取Selection.SetRange(4511, 4544);//复制选中行格式Selection.CopyFormat();//准备遍历表格let tabNum = Application.ActiveDocument.Tables.Count;for(let i=100;i<tabNum;i++){//当前表格let currTab = ActiveDocument.Tables.Item(i);let rowNum = currTab.Rows.Count;for(let j=2;j<=rowNum;j++){let rowRange = currTab.Rows.Item(j).Range;//选中此行,应用样式Selection.SetRange(rowRange.Start,rowRange.End);Selection.PasteFormat()}}
}
WPS下 宏使用js编写及一些脚本相关推荐
- wps宏编程js宏编辑器之代码调试讲解
继前几篇wps js宏编程基础知识,wps开放平台就js宏编辑器的介绍说明,es6基本语法讲解后,相信大家对wps js宏编程有了一定认识,已经会用js在wps表格中实现一些简单的功能,编写js宏代码 ...
- wps中VBA宏与js宏的区别
VBA宏与js宏的区别,异同 一. JSAPI接口的差异 1. 方法的差异 (1) vb的方法可以不加括号,但jsapi中所有的方法都需要加括号,如果方法不加括号会被js语法判定为属性. vb:复制 ...
- wps - 使用宏来为每行标记序号
在WPS中遇到需要加序号的虽然可以用项目符符号来标注# 但或许用宏更厉害一些 WPS 的宏是一种自动化工具,可以通过编写宏代码来自动执行一些操作,例如创建和编辑文档.打印.格式化等. WPS 宏的编写 ...
- node.js编写网页_为Node.js编写可扩展架构
node.js编写网页 by Zafar Saleem 通过Zafar Saleem 为Node.js编写可扩展架构 (Writing Scalable Architecture For Nodejs ...
- filter vue 循环_详解在Vue.js编写更好的v-for循环的6种技巧
在vuejs中,v-for循环是每个项目都会使用的东西,它允许您在模板代码中编写for循环. 在最基本的用法中,它们的用法如下. {{ product.name }} 但是,在本文中,我将介绍六种方法 ...
- 这是用原声js编写的地址选择器,使用select编写的三联选择器
这是用原声js编写的地址选择器,使用select编写的三联选择器 <!DOCTYPE html> <html lang="en"> <head> ...
- Windows下安装node.js(npm) git+vue
Windows下安装git+node.js+npm+vue 放到统一大文件夹下 下载node.js http://nodejs.cn/ npm是随同NodeJS一起安装的包管理工具,能解决NodeJS ...
- 6.pixi.js编写的塔防游戏(类似保卫萝卜)-游戏资源打包逻辑
游戏说明 一个用pixi.js编写的h5塔防游戏,可以用electron打包为exe,支持移动端,也可以用webview控件打包为app在移动端使用 环境说明 cnpm@6.2.0 npm@6.14. ...
- 使用Breeze.js编写更好的查询
Agbonghama Collins对这篇文章进行了同行评审. 感谢所有SitePoint的同行评审人员使SitePoint内容达到最佳状态! 数据量正在迅速增长,并且维护变得越来越复杂. 许多开发人 ...
- breeze.linalg_使用Breeze.js编写更好的查询
breeze.linalg Agbonghama Collins对这篇文章进行了同行评审. 感谢所有SitePoint的同行评审员使SitePoint内容达到最佳状态! 数据量正在Swift增长,并且 ...
最新文章
- ActionScript 3.0 Step By Step系列(五):走在面向对象开发的路上,以类为基础去思考编程问题...
- 解决git 提交出现这个错误fatal: Unable to create ‘project_path/.git/index.lock‘: File exists.
- iTunes备份注意
- 任务调度之Elastic-Job1
- 批量删除推文_如何搜索(和删除)您的旧推文
- ROJECT SERVER如何与OUTLOOK集成使用
- Error:-81024 LR_VUG:The 'QTWeb' type is not supported on win32 platforms
- 默认情况下安装的应用程序C盘后提示权限不足,当你开始介意。。。
- cad截图软件_AutoCAD电气制图协会线上CAD学习打卡活动结束
- 百度网盘超大容量100t、500t操作方法,轻松扩容如此简单,扩容工具,占位文件,免虚拟机
- OSChina 周五乱弹 —— 源花?真土鳖,我要开源小仙女!
- 证件照背景颜色怎么用手机换
- 直板android智能手机,小巧又精悍 3大系统直板全键盘手机搜罗
- 腾讯云直播代码 java_JAVA 对接腾讯云直播的实现
- 关于Office365邮箱附件大小限制问题
- 微信分享连接个别手机、ios转发不显示图片的,缩略图不出来
- rm: cannot remove `/usr/local/tmp/‘: Directory not empty
- 《MATLAB智能算法超级学习手册》一一1.3 符号变量的应用
- 据说看完这21个故事的人,30岁前都成了亿万富翁
- 自动化测试框架如果都总结成这样,人人都能学好