[TOC] > Mon Apr 26 2021 05:09:52 GMT+0800 (GMT+08:00) ## 使用别人写的宏 > 打开对应APP(表格、文档、演示文档)的宏编辑器(因为不同APP不能共用宏),然后: 1. 复制别人的代码粘贴到自己的宏编辑器中。 2. 新建一个模块(如果你没有写任何的宏,是空白的模块,那么可以不用新建),然后宏编辑器主菜单【插入】-> 【文件】->选择要插入的 JavaScript 文件(`.js`)。 > 为什么要新建模块,因为插入的文件会直接插入到编辑器中光标所在的位置(在当前光标位置插入),目的在于区分开自己写的和别人写的。 ## 可能会出现的问题 1. 出现同名函数,这再正常不过了,怎么检查出现了同名函数呢? * 执行之前: 通过编辑器主菜单 【工具】->【宏】,在弹出窗口中,会列出可执行的宏,如果存在同名函数,你会看到多个相同的宏名称。 * 执行时:执行任意的宏的时候,编辑器会提示你:名称"xxx"已经定义。 2. 函数直接和前台函数重名,这就很难被发现了,如果是自定义函数的话会很糟糕,因为环境和优先级的缘故,你不可能在前台选到这个自定义函数,虽然你能看到多个同名的函数,但最终只会是软件自有的那个函数。 > 因此,但你在前台发现有多个同名函数的时候,就要回到编辑器中,找到那个函数,并将其另外命名,避免和软件自有函数重名。 3. 不符合默认规则的宏。默认地,WPS 不允许在顶层 function 外围定义全局表达式,但同时 WPS 也允许用户关闭这个禁止项,允许可以定义全局表达式。如果发现对方的代码有全局表达式,那么你也要关闭这个禁止项,以保证这些代码可以执行,否则你只能改造这些代码了——这可能是比较大的工程(如果代码量很大的话)……