你每个月要给上百份销售报表统一设置格式,或者把几十个工作表拆成独立文件发给不同同事——每次手动操作都要花两三个小时,重复又枯燥。

这时候如果有人告诉你:写几行代码,这些操作就能全自动完成,你会不会试试?

这就是WPS宏功能的价值。可惜的是,很多WPS用户要么不知道有这个功能,要么想用却发现个人版用不了VBA宏,要么看到”代码”两个字就放弃了。

本文从完全零基础的角度出发,带你了解WPS宏的两种形态(JS宏和VBA宏),手把手教你写出第一个自动化脚本,并解决个人版无法使用VBA的问题。读完这篇文章,你至少能省掉80%的重复表格操作时间。

什么是WPS宏?为什么你需要它?

宏(Macro)的本质很简单:一段能自动执行的操作指令

你在WPS里做的每一步操作——点击单元格、修改格式、插入图表——本质上都是在调用WPS的底层功能。宏的作用就是把一连串操作记录下来、写成代码,等你需要时一键重放。

WPS支持两种宏语言:

特性JS宏(JSA)VBA宏
编程语言JavaScriptVisual 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宏安全性设置

第二步:认识开发工具面板

设置完成后,你应该能在菜单栏看到**「开发工具」**选项卡。这里有几个关键按钮:

  • 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帮你写

操作流程:

  1. 点击「开发工具」→「录制新宏」
  2. 正常操作表格(比如把两列数据合并、设置边框、调整列宽)
  3. 操作完毕后点击「停止录制」
  4. 打开宏编辑器,在「模块」里查看刚才自动生成的代码

录制出来的代码就是你刚做的操作的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 JS宏编辑器界面

WPS个人版免费启用VBA宏:完整安装教程

这是很多WPS用户最头疼的问题:打开一个带VBA宏的Excel文件,或者想用「开发工具」里的VB编辑器,结果弹出提示”需要购买商业版才能使用VBA宏”。

先说结论:WPS个人免费版确实可以通过安装官方VBA插件来启用VBA功能,不需要购买商业版。

为什么WPS个人版没有VBA?

VBA是微软为Office开发的技术,授权给第三方使用时需要额外付费或安装兼容组件。WPS为了让个人用户免费使用基础办公功能,没有预装VBA模块——但你完全可以自己安装。

免费安装步骤

方法一:安装VBA for WPS官方支持库(推荐)

WPS官方虽然没有在个人版里直接集成VBA,但提供了独立的VBA支持库安装程序。很多用户不知道它的存在。

具体步骤:

  1. 完全关闭所有WPS程序(包括WPS文字、表格、演示)
  2. 下载并运行VBA for WPS安装程序(文件名通常为 vba_for_wps_2052.exe 或类似名称)
  3. 安装过程中若弹出错误提示,点击”忽略”继续即可
  4. 安装完成后重启WPS
  5. 打开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宏。