你每个月要给上百份销售报表统一设置格式,或者把几十个工作表拆成独立文件发给不同同事——每次手动操作都要花两三个小时,重复又枯燥。
这时候如果有人告诉你:写几行代码,这些操作就能全自动完成,你会不会试试?
这就是WPS宏功能的价值。可惜的是,很多WPS用户要么不知道有这个功能,要么想用却发现个人版用不了VBA宏,要么看到”代码”两个字就放弃了。
本文从完全零基础的角度出发,带你了解WPS宏的两种形态(JS宏和VBA宏),手把手教你写出第一个自动化脚本,并解决个人版无法使用VBA的问题。读完这篇文章,你至少能省掉80%的重复表格操作时间。
什么是WPS宏?为什么你需要它?
宏(Macro)的本质很简单:一段能自动执行的操作指令。
你在WPS里做的每一步操作——点击单元格、修改格式、插入图表——本质上都是在调用WPS的底层功能。宏的作用就是把一连串操作记录下来、写成代码,等你需要时一键重放。
WPS支持两种宏语言:
| 特性 | JS宏(JSA) | VBA宏 |
|---|---|---|
| 编程语言 | JavaScript | Visual Basic for Applications |
| 支持版本 | WPS 2019及以上所有版本 | 需额外安装VBA插件 |
| 个人免费版 | ✅ 默认可用 | ❌ 需手动安装 |
| 学习难度 | 相对容易(前端开发者友好) | 中等(语法较老) |
| 与Excel兼容 | 不兼容 | 兼容Excel VBA |
| 推荐场景 | 个人日常自动化 | 需要运行Excel现有VBA宏 |
简单来说:新手学JS宏足够,需要跑Excel VBA代码就用VBA。
WPS JS宏入门:从零开始写第一个宏
JS宏(也叫JSA)是WPS官方主推的宏开发方式。它用JavaScript语言,任何有一点前端基础的人都能快速上手。就算你完全没写过代码,按照下面的步骤操作,10分钟就能跑通第一个自动化脚本。
第一步:启用宏功能
打开WPS表格,依次点击:「工具」→「开发工具」→「宏安全性」,将安全级别设置为**“低”**。
⚠️ 如果你收到来自不可信来源的宏文件(.xlsm),不要修改安全级别。本文仅针对你自己编写或信任的宏脚本。
另外,在WPS的**「选项」→「JS开发环境」中,确认默认使用JS开发环境**已勾选。

第二步:认识开发工具面板
设置完成后,你应该能在菜单栏看到**「开发工具」**选项卡。这里有几个关键按钮:
- WPS宏编辑器:打开代码编辑窗口,所有JS宏代码都写在这里
- 录制新宏:自动记录你的操作并生成代码(非常实用的学习工具)
- 运行宏:选择已有的宏并执行
- VB编辑器:切换到VBA环境(需要先安装VBA插件)
点击**「WPS宏编辑器」,你会看到一个类似IDE的代码编辑窗口。在左侧右键「插入」→「模块」**,右边就会出现一个空白代码区域——这就是你写宏的地方。
第三步:写第一个宏:自动设置标题格式
假设你有一个表格,每次都要手动把A1到F1的标题栏设为加粗、居中、蓝色背景。下面这个宏帮你一键完成:
function 设置标题格式() {
// 选中A1到F1的标题行
Range("A1:F1").Select();
// 设置背景色为蓝色
Selection.Interior.Color = RGB(68, 114, 196);
// 字体加粗
Selection.Font.Bold = true;
// 字体颜色白色
Selection.Font.Color = RGB(255, 255, 255);
// 字号14
Selection.Font.Size = 14;
// 水平居中
Selection.HorizontalAlignment = xlHAlignCenter;
}
写完后按F5或点击工具栏的运行按钮,你会看到A1到F1瞬间变成蓝色背景、白色加粗字体。
不需要任何编程基础——代码里的中文部分(函数名和注释)已经说明了每一步在做什么。
第四步:善用”录制宏”偷学代码
这是一个超级实用但很多人不知道的技巧:你不会写的代码,可以让WPS帮你写。
操作流程:
- 点击「开发工具」→「录制新宏」
- 正常操作表格(比如把两列数据合并、设置边框、调整列宽)
- 操作完毕后点击「停止录制」
- 打开宏编辑器,在「模块」里查看刚才自动生成的代码
录制出来的代码就是你刚做的操作的JS表达——下次想批量执行同样的操作,直接复制代码到新宏函数里就行。
JS宏核心语法速查
以下是日常办公自动化最常用的几个操作,看一眼就会:
选择单元格:
Range("B2").Select(); // 选单个
Range("A1:C10").Select(); // 选区域
Range("A:A").Select(); // 选整列
Range("2:5").Select(); // 选2到5行
遍历区域并赋值:
function 批量填充月份() {
for (var i = 1; i <= 12; i++) {
Cells(i, 1).Value2 = i + "月"; // A列写入1月到12月
}
}
设置边框:
function 添加边框() {
Range("A1:D20").Select();
Selection.Borders.LineStyle = 1; // 添加所有边框
}
切换工作表:
Sheets.Item(2).Activate(); // 按索引切换
Sheets.Item("销售数据").Activate(); // 按名字切换
掌握了这几个基础操作,你已经能写出80%常用场景的宏了。

WPS个人版免费启用VBA宏:完整安装教程
这是很多WPS用户最头疼的问题:打开一个带VBA宏的Excel文件,或者想用「开发工具」里的VB编辑器,结果弹出提示”需要购买商业版才能使用VBA宏”。
先说结论:WPS个人免费版确实可以通过安装官方VBA插件来启用VBA功能,不需要购买商业版。
为什么WPS个人版没有VBA?
VBA是微软为Office开发的技术,授权给第三方使用时需要额外付费或安装兼容组件。WPS为了让个人用户免费使用基础办公功能,没有预装VBA模块——但你完全可以自己安装。
免费安装步骤
方法一:安装VBA for WPS官方支持库(推荐)
WPS官方虽然没有在个人版里直接集成VBA,但提供了独立的VBA支持库安装程序。很多用户不知道它的存在。
具体步骤:
- 完全关闭所有WPS程序(包括WPS文字、表格、演示)
- 下载并运行VBA for WPS安装程序(文件名通常为
vba_for_wps_2052.exe或类似名称) - 安装过程中若弹出错误提示,点击”忽略”继续即可
- 安装完成后重启WPS
- 打开WPS表格,点击「开发工具」→「VB编辑器」,如果正常打开说明安装成功
方法二:通过WPS社区获取插件
如果在WPS官方学习中心找不到VBA安装包,可以到WPS论坛社区搜索”vba for wps”,通常能找到用户分享的最新版本下载链接。安装包一般包含三到四个文件,按顺序逐个运行安装即可。
安装后验证
安装成功后:
- 「开发工具」选项卡中的宏相关按钮变为可用状态
- 点击「VB编辑器」能正常打开VBA编辑窗口
- 可以打开带有VBA宏的Excel文件并正常运行宏
重要提醒
- 安装VBA插件后,建议将宏安全性调回”中”或”高”,避免运行来自不可信来源的宏代码
- WPS的VBA兼容性不是100%,部分依赖Excel特有API的VBA代码可能无法运行
- 如果你只是想做自动化办公(而非运行已有的Excel VBA文件),直接用JS宏就够了,不需要折腾VBA
JS宏实战:4个自动化办公脚本
下面分享4个可以直接复制使用的JS宏脚本,覆盖日常办公中最常见的重复劳动场景。
脚本1:批量创建工作表
如果你需要创建12个月份的工作表(或者按地区、部门分类),手动建表很麻烦:
function 批量创建工作表() {
var sheetNames = ["1月", "2月", "3月", "4月", "5月", "6月",
"7月", "8月", "9月", "10月", "11月", "12月"];
for (var i = 0; i < sheetNames.length; i++) {
Sheets.Add();
Sheets.Item(Sheets.Count).Name = sheetNames[i];
}
}
脚本2:批量设置打印区域
你有一个工作簿里几十个工资表,每个都要设置A1到G50为打印区域:
function 批量设置打印区域() {
for (var i = 1; i <= Sheets.Count; i++) {
Sheets.Item(i).Activate();
Sheets.Item(i).PageSetup.PrintArea = "A1:G50";
}
}
脚本3:统一调整所有工作表列宽
打开别人的文件,列宽乱七八糟?
function 统一列宽() {
for (var i = 1; i <= Sheets.Count; i++) {
Sheets.Item(i).Activate();
Columns("A:Z").ColumnWidth = 12; // 统一设为12
}
}
脚本4:合并多个工作簿到一个文件
function 合并工作簿() {
var filePath = "C:\\Reports\\"; // 改为你的文件路径
var files = ["1月.xlsx", "2月.xlsx", "3月.xlsx"];
for (var i = 0; i < files.length; i++) {
var wb = Workbooks.Open(filePath + files[i]);
wb.Sheets.Item(1).Copy(null, ThisWorkbook.Sheets.Item(ThisWorkbook.Sheets.Count));
wb.Close();
}
}
常见问题与避坑指南
实际使用中,新手最容易踩的几个坑:
坑1:宏文件保存格式不对
普通 .xlsx 文件不能保存宏。写完宏后必须另存为**「启用宏的工作簿(*.xlsm)」**格式,否则下次打开代码全没。
坑2:安全级别太高导致宏无法运行
如果设置宏安全性为”高”,所有宏都会被禁止运行且不提示。确保设为”中”或”低”。
坑3:JS宏和VBA宏函数混写
JS宏编辑器里写的是JavaScript,VBA编辑器里写的是VB——两者语法不互通,不要混在一个模块里写。
坑4:Range和Cells的索引问题
JS宏中的 Cells(行号, 列号) 行号从1开始(不是0),列号可以用数字也可以用字母:Cells(2, 4) 等价于 D2 单元格。
坑5:WPS版本差异
JS宏功能在WPS 2019及之后版本支持较好。如果你用很老的版本(如WPS 2016),部分JS宏API可能不可用,建议升级到最新版。
总结
WPS宏功能是提升办公效率的利器,掌握了它能让你从大量重复操作中解放出来:
- 学JS宏:适合日常自动化需求,JavaScript语法简单,录制宏帮助学习
- 装VBA插件:当你需要运行Excel里的VBA宏时才需要,普通人用JS宏足够
- 从录制宏开始:这是最快的学习路径,操作一次就能拿到代码模板
- 注意文件格式:宏文件必须保存为
.xlsm
如果你对WPS表格的公式和函数也想深入了解,可以看看我们的《WPS表格基础公式速查手册》和《WPS数据透视表完全教程》。如果想了解更多WPS效率技巧,《WPS快捷键完全指南》也很有帮助。
自动化时代,让代码帮你干活,把时间留给你真正想做的事。
FAQ
Q1: WPS个人免费版能用JS宏吗?
能。 JS宏(JSA)是WPS从2019版开始内置的功能,所有版本(包括个人免费版)都支持。你只需要把宏安全性调低,然后打开「开发工具」→「WPS宏编辑器」就能开始写代码。不需要购买会员。
Q2: 安装VBA插件后WPS会变卡吗?
通常情况下不会。VBA插件只是一个兼容模块,不会影响WPS的正常性能和启动速度。但如果你同时打开多个含大量VBA代码的Excel文件,可能会增加一些内存占用。
Q3: JS宏和VBA宏哪个更好?
没有绝对的”更好”,看你的场景:如果你需要运行已有的Excel VBA宏文件,必须用VBA;如果你是从零开始做WPS办公自动化,推荐JS宏,语法更现代、上手更快、个人版原生支持不需要额外安装。
Q4: 录制的宏生成的代码能直接运行吗?
能,但可能需要微调。录制宏生成的代码是”逐字记录”你的操作,有些多余的步骤(比如选中某个区域后又点了别处)需要手动精简。建议把录制生成的代码复制出来,保留核心逻辑,删掉无用步骤。
Q5: 宏能跨平台使用吗(Windows/Mac/Linux)?
WPS JS宏对Windows支持最完整,Mac版的基本可用,Linux版WPS的宏功能支持有限。如果你要在Mac上用VBA宏,情况更复杂——Mac版Office的VBA和Windows版差异较大,兼容性不太好。跨平台使用建议优先选JS宏。