粉丝5525获赞1.5万

大家好,欢迎大家观看 wps 杰斯宏入门道放弃教程,我是本次课程的主讲老师曾贤志,今天我们学习一杠二课 如何使用 g s 红代码来操作 w p s。 表格。所谓的 g s 其实就是 javascript 这种语言,我想大家应该也听过,这是一种前端语言, g s 红的根本目的就是使用 javascript 这种语言来控制我们的 w p s。 表格, 那么 w p s。 表格的代码的话,我们就俗称 a p i。 所以本套课程既要学习关于 javascrip 的相关代码,又要学习关于 w p s。 表格的相关代码,那么这样子的话才能够处理好我们的数据。这节课的话,我们就来演示一下如何使用 javascript script 这个语言来控制处理 w p s。 表格的数据。比方说下面的这个代码就是一个非常典型的使用 deviscript 这种语言来控制我们的表格,在这些代码里面的话,这三行就是跟 表格相关的代码,这句就是新建工作部的意思是吧?这句呢就是保存工作部,这句呢?关闭工作部,这三个都是跟表格相关的一个操作,所以这三句话的话,其实就是我们上面这里所说的是关于 控制操控 w p 四表格的相关代码。而我们的 javascript 是哪一部分呢?就是这个否语句,然后里面的这个 rung, 这个也是属于表格里面的东西,也就是 说用我们的这种 four 这个循环语句来读取这个单元格区域的数据,读取出来的数据的话,作为我们新建工作部之后保存的这个名称,我们可以给大家来演示一下,看对不对?如何来做呢?我们这里好,我们切换到一杠二这个 工作部,然后呢我们选择开发工具,再选择 wps 红编辑器,这样子的话就可以切换到 wps 红编辑器,在这个里面的话我们就可以编写代码, 可以点击插入,然后呢选择一个模块,这个时候的话末九 a 就可以在右侧这里编写代码。编写代码如何来编写呢?你首先的话我们看一下这里,首先的话把它在这个上面框架给写好, function test, 那么在这个里面的 focus 要用下面的这个是吧?然后呢这个 focus 的话,它是固定写法,后面的就随便你了。比方说这里我们叫做批量创建工作部,也可以叫做批量 批量创建工作部,这就是我们整个过程的名称,大家看一下,只不过在这里我写的 test, 然后在它的后面给它加一个,加一对小括号, 小括号后面的话我们加一对大括号,也就是说所有的代码就写在这一对大括号之间,所以我把它换好,是吧?这样子代码就在这中间, 那么大家看一下对不对?好,我们先来看一下关于操作表格的相关代码,比方说第一个叫做 workbox 点 add, 那么我们比方说在这里来尝试, 这下写个 bark box, 这是表示工作部集合,集合,下面来创建一个工作部,是吧? add 这个方法,然后呢 加括号,括号里面我们暂时不要参数,是吧?这个时候一句代码写完,我们在后面加一个分号就可以了,我们可以运行一下代码,是吧?把光标定在这一个代码的某某一个位置,然后点击这个运行, 大家注意看一下是不是马上就创建了一个工作部,对了,好,创建工作部这部我们做好之后的话,第二部干什么?在这里大家看一下,是不是我们就要 保存工作部这个里面写的 active workbook? 好,我们在下面比方说再写个 active workbook, 好,这是 是他,那么这个意思就是对我们的活动工作部进行一个保存,这个对象进行一个保存, save us, 另存,另存的这个另存的位置是什么?你可以给他指定一个啊,我们指定在哪里呢?比方说我们指定在 桌面上,桌面上的某一个位置,我临时来创建一个,我写个 a、 b、 c 吧,随便写个 a、 b、 c。 然后呢我们双击打开这个位置啊,大家注意看一下地址栏里面的这个位置,就是我们要保存的位置,我给他复制这个路径, 然后到我们编辑器里面,把这个路径放在一对双引号里面,然后保存的时候我们保存什么就保存。比方说我随便写个 demo, 点 x, l, s, x, 然后保存之后的话,我们 是不是就关闭好,所以这个时候的话,最后还要写保存之后把它关闭,那么我们就在这个里面写个 active workbook, 点儿 close, 哎,把它关闭 好。这是第二句,第三句,那么是不是有三句话了?这三句其实都是跟表格相关的代码,跟我们的 javascript 是没有关系的,暂时来说是没有关系,我们一句一句的运行,来看一下对不对?把这个 a、 b、 c 文件夹打开, 然后看一下它能不能够保存到这个位置。那么怎样一句一句的运行呢?你可以在它的前面加一个断点,这样点一下,然后按一下 f 十一,然后就可以开始看到没第一句这个键 箭头的位置就是马上要运行的代码的一句,然后创建,是不是这就创建了一个,在这边创建了一个工作部,这个工作部的话就成为了活动工作部,也就是刚刚创建的这个工作部成为了活动工作部,我要对活动工作部来保存,那么来试一下, 保存之后,你看一下,好像没有问题,但是这里也又没有保存出来,然后再关闭看一下 啊,看一下在这边是不是,哎?那个被关闭了,然后这边呢?哎,这边没有出现,就是代码都运行完了,为什么没有出现呢?我们可以再来试一下点运行一下 说,但是他说又存在了,那么问题在哪里呢?问题我们指定的这个路径的话,它是不对的,然后呢 它保存到了一个默认的位置去了,我们来看一下 demo 里面,它应该是不是保存到这个里面去,好保存到这个里面去了,也就是说它并没有把这个当做路径,你看到没? 当做名称了,也就是说从 user 这里开始,从 c 盘下面,是吧?他把这个整个当做一个名称,所以这个路径不对,那么这个路径的话要 加倍给他,那么这样子的话才表示落井,否则的话这个只有一根斜杠,他有特殊的意义,两根斜杠的话才表示什么样?一根斜杠其实 是前面这个对后面这个进行一个转移,把它转移成具有普通意义的这种斜杠,就形成了一个真正的路径了。好,那么这个时候我们再来运行,来看一下, 看到没?诶?这个时候才真正出来了,所以我们知道问题在哪里了,那么接下来的话我们要循环怎么办?好,这个时候我希望这个样子, 就是把这个里面的 a 二到 a 十二这些单元格的这个值作为保存的时候,他的这个什么名称,有多少个名字,他就新建多少次,就保存多少次,关闭多少次。好,所以我就可以这个样子了,直接写个 range, 然后呢把他的 a 二单元格到 a 十二单元格这个区域的值给他什么样循环出来。那么直接来个 value, 获得他的值,获得他的值之后把这个单元格里边的每一个值给循环出来。我们来看一下这个循环语句他是怎么写的? 在上面是不是把它循环出来啊?付给一个变量,这个变量名称,他就会获取到这个区域的每一个单元格,这个区域每个单元格的值 他会获取的,所以他的写法,完整的写法,这个时候应该是这个样子,我们先写在上面写 go for, 你可以这么来写 let 名字,然后 of 好。哦。为什么?就是循环哪些?就循环这个单元格区域里面的值, 好在后面给他加一对大括号,大括号里面我们就放我们刚才写的关于工作部的操作,哎,这个样子的话就成功了。然后保存的时候我们保存什么,我们就把 这个位置,这个位置 dem 换成什么样,从这个单元个区域取出来的每一个值,每一个值付给名字了,这个付给这个变量了,所以我们在这个里面加一个双引号,加加在中间连接一下,连接谁,就连接我们刚才这个名字 好就可以了。好,接下来的话我们一句一句的来执行,看一下断点设置在这里面,然后呢按 f 十一一句一句的来。首先大家看一下第一个 监视窗口局部变量,这里是不是看到没循环出来的第一个指是什么?达文西,也就是达文西,然后呢新建,新建之后是不是就新建好了?然后接下来该保存,我们看一下他能不能够成功保存,保存是不是就出来了,然后再关 关闭,对,看一下这笔是不是就关闭了,然后第一次打吻系出来,是不是第二次循环。大家再来看一下又新建,新建工作不溜了,然后又保存,这个时候是至尊宝,也就是至尊宝,保存为至尊宝,看一下 是不是至尊宝,然后再关闭。我们来看一下关闭是不是又关闭了,以此类推。我们想把它运行完结束,然后 把这个断点给他取消,就是点一下,再点一下,然后点击这个运行完,我们就会看到他在不断的这个运行 好。运行完成之后,我们可以看一下在这个里面新建的这些名称,是不是跟我们这边的这个区域里面的这些名称 一模一样。对了,那么最后我们简单的看一下这段代码,其实这三行就是关于表格的代码,表格的 a p a 代码,然后这个呢? for 这一部分,那么就是 javascript 的语言, 然后这个的也是关于表格的相关代码,也就是说用 javascript 这个语言来来控制表格,所以这个代码的话是不是包括了两部分,一个是关于表格的 api 代码,一个是关于 javascript 代码。 好,这节课的话大概给大家讲述了一下他是如何运行的,就是如何用结实红代码来操作 wps 表格,如何用 加我 script 这种语言来控制 wps 表格。其实是这个意思,下节课的话我们才从最基础的开始给大家讲解,这节课只是做一个整体的演示。好,我们下节课再见。

今天我们来讲 wps 红的第一节课,录制红和修改代码。第一步,在开发工具选项卡中点击录制新红按钮,在弹出的窗口中点击确定。 第二步,选择 a 一单元格,输入内容,按键盘上的回车键,然后点击停止录入按钮。 现在一个简单的 wps 红就录制好了,下面我们来使用这个红看看效果。我们先清除单元格内容, 在开发工具选项卡中点击 js 红按钮,在弹出的窗口中点击运行。我们看到现在单元格中已经自动录入了我们之前录制的内容。 在开发工具选项卡中点击 wps 红编辑器,我们就能查看和修改代码了。我们看到代码窗口中有很多行代码, 但我们只需要看第七、第八和第九行代码即可。第七行代码是选择 a 一单元格,第八行代码在所选单元格输入内容,第九行代码选中 a 二单元格。 现在我们手动插入一行代码看看效果。复制第八行代码,粘贴到第十层,将里面的一、二、三改为四、五、六。回到表格中,清空表格内容,再次运行 js 红,我们看到 a 二单元格中已经自动输入的内容。

本节课我们学习一下开发工具选项卡下面关于红安全性的设置。 gs 红可以为我们的 wps 操作提供诸多的便利,但也会给病毒带来可乘之机,我们该如何进行红的安全设置呢?接下来演示一下它的四种处理方式。点击红安全性 首先说一下第一种非常高,也就是说只有添加信任的位置才可以运行带有 gs 红的文件,接下来我们选择这一项,点击确定。接下来我们再来添加一下位置,单击文件下来才能 选择选项,再选择信任中心,在右侧点击添加新位置,比如当前 我们添加的位置,在红安全性文件下复制他的路径, 把我们的路径给粘贴进去,点击确定。此时当添加到这个文件夹下面的所有带有结色红的文件将可以安全运行,点击确定。接下来我们做一下测试, 当前这个文件夹下面并没有任何的文件,如果我们直接双击它外侧的工资表, 此时文件可以打开,但是我们在里面写的代码将没有办法运行,我们可以测试一下。选择工资表头,点击生成工资条,此时提示红背 被禁用,接下来将该文件关闭,并且将工资表拖放到红安全性这个文件奖。接下来我们再次打开, 此时我们再次选择表头,点击生成工资条,便可以正常的运行, 这是红安全性的第一种方法。接下来我们再来看第二种,通过签署的后,这种设置需要涉及到数字证书,用户操作起来比较麻烦,因此此种设置方式在此不做掩饰。接下来再看第三种 中表示文件,在打开时,需要用户自己来判断是否运行该文件,点击确定。接下来我们把该工资表移出到 信任的位置, 然后再双击打开, 此时有提示红已经被禁用。如果点击启用红,则可以正常的生成工资条,也就是可以正常的运行我们写的结死红带吗?如果点击右侧的叉号进行关闭,则不能正常生成工资条,我们点击启用红, 再次选择工资条表头,点击生成工资条,可以正常运行 gs 黄单吗?接下来我们再演示第四种。 第一,表示信任。所有的带有结实红代码的文件,也就是默认运行所有带有结实红代码的文件,我们点击确定。接下来我们再次打开工资表, 没有任何的提示,我们选择工资条表头,点击生成工资条代码正常运行。关于红的安全性设置,用户可以根据自己的实际情况选择不同的安全级别,本节课关于红安全性的设置就讲解到这里,再见!

呃,大家好,欢迎继续回来和我一起学习 g s 红编程, 那么这一节课呢,是我们的第一个大章节的第二十七节课啊,那么也是我们的倒数第二节课了啊,也就是我们第一章的倒数第二节课,那么呃这一节课我们要学习的内容是书组的一个筛选方法, 这个方法呢,呃非常的有用啊,非常的有用,我们会在这节课呢去学习一下他的概念性的东西,还有就是怎么去使用。 之后呢,我们在下一节课来做一个例子啊,一起练习一下。之后呢,呃再往后面呢,我们就开始去学习我们 gs 红的 相关的一些 api 啊,跟着结合着我们的这个 gs 的一些基础语法呀,就开始来呃做一些实际的呃更好一些的案例来进行一个学习。 好,那么这节课我们来学习这个 filter 方法啊,我们先来到我们的这个菜鸟碗啊,去看一下这个数组的这个 filter 啊,这个方法是怎么的一个说明的啊? 首先呢啊他这边的说明啊,是检测数组的元素并返回符合条件的 所有匀速的数组啊,他会返回一个数组啊,也就说我们调用这个方法以后啊,我们一起来看一下他的一个语法。好,这边举了一个例子啊,他首先呢是定义了这么 一个数组之后在里面啊给他定义了这么一个回调函数啊,直接呃返回一个哎,就是大于等于十八的值, 最后他得到的值呢,也就是我们的三二三三四零,也就十六,不满足他就把十六去掉了啊,就把满足条件的值啊直接作为一个数组来进行一个返回的。 好,那么看一下他的语法呢,跟我们前面讲过的这个 for 一起还有其他的一些方法呢,是一模一样的啊,是一模一样的, 就说啊,我们数组啊,其实他常用的一些方法呢,其实就是这样啊,他大部分的方法呢,他都会根据这个数组对象 啊,数字对象,他一些一些相关属性来定义这个参数的啊,那么我们,呃我们这个数字对象呀,他的一个参数呢,呃,首先呢就是一个值,一个下标,对吧?还有一个这个呢代表的是我们的一个 单群匀速属于的数组对象啊,这个呢一般来说我们可以不停他啊,一般来说我们最常用的呀,就是单群匀速的一个值,还有他的下标啊,一般来说呢,我们最常用的就是这两个参数了啊, 好,那么后面的例子啊,我们就不去看了,我们自己来写一个啊,我们自己来写一个这个 filter 啊, 好,我这边呢写了这样的一个小例子啊,呃,这呢是一种写法啊,我先来, 哎给大家讲一下吧。哎,首先呢我们,呃定义了一个函数啊,定义了一个函数 test 啊,也就是我们的测试。之后呢,这边我进行了一个复值,我把艾瑞一艾瑞啊,艾瑞,呃,复值呢,也就是我们的 a 到 c 五单元格的一个值付给了我们的艾瑞啊,哎,也就是这瓶单元格的值呀, 做一个数组付给了我们的艾瑞,哎,我们来单步运行看一下他这个艾瑞啊,他是一个,嗯,包含了他是一个二维数组啊,首先之后呢他的每一个元素呢,包含的是一个 含有三个元素的一个因为素质啊,也就是说,哎,他其实就是 个五行的一个数组,哎,每一个,呃,内部的子数组啊,他是每一行啊,也就说其实他第一个,哎,第一个也就是我们这个第一个艾瑞三呀,他代表的是这一行,对吧? 后面呢?呃,是一次这样一喊一喊的下来的啊,他是这样的,好,那么我们看一下,呃,第二步呢,我们是,哎定义了一个艾瑞一,对吧?之后呢,来接受接受我们上面这个艾瑞顶 future, 对吧?也就是来钓鱼的那个 filter 函数啊,诶, filter 的一个方法,数组的方法来进行了一个筛选啊,后面呢就是我们的一个镜头函数啊,镜头函数的书写,也就是我们的函数体啊,我们指使 用了,哎,这个 itm。 这一个呢代表的是他的,哎,第一个参数啊, filter 里面镜头函数的第一个参数,它代表的是单琴云数啊, 就是这个数组的每一个,呃,每一个元素的一个值,哎,他的这个每一个元素啊,代表的是什么样的?代表的是这个艾瑞桑,对吧?每一行每一行,他代表的是每一行啊,也就是我们来下面 判断了一下,他这个每一行里面啊,有没有包含一般啊?对吧?有没有包含一般,一般,一般,对吧?他是以寒为单位来进行一个判断的啊, 它不是以这样单个的元素,它是以这样一行一行的来判断的,一行为一个单位啊,也就是一个 it em 这样的一个方式,那么我们在里面做了两个判断,我们把这个一般的啊,如果他是一般了,他就会进到这个里面来,就会把这个 atm 进行一个返回, 也就是单前元素进行一个返回,如果是二班也会进行一个返回,最后我们会得到,哎,这个艾瑞一里面他会得到一个结果,就是,呃,这个函数里面包含一班和二班的, 哎,这么两个元素啊,其实呢,他这个艾瑞一,哎就相当于他返回的这个值啊,他直接去调用了一个数组的这个 pass 这个方法去把它 加入到了 l e 里面,哎,其实你可以这样去理解它啊,哎,我们来走一下啊,我们来走一下实际的运行效果,哎, 一班啊,满足返回,二班满足返回,哎,我们可以现在来看一下这个 every e, 哎, every e 我们把它添加到快速近视啊,哎,他还不让看啊,不让看啊,没关系,那我们就接着往下走吧, 哎,现在他让看了,哎,我们 er 一里面啊,就有两个元素,对吧?每一个元素呢?呃里面是一个一函,哎,这样的一个一个数组,哎,也就是每里面的每一个子数组啊, 哎包含的是三个元素,其实也就是我们这样的一行啊,那么,呃把符合条件的他就已经放进去了啊,那么我们姓 在呀,他只是,哎在这里啊,我们把它从一一单元格进行了一个写入,哎,他就把一班和二班的一个值啊进行了一个写,写入过来了啊,那么这是一种写法啊这是一种写法,那么其实呢,我们还有更紧并的一个写法呀, 我们还有并并的一个写法啊,我们还可以这样写。好,我们把这个地方来进行一个删除。 好下面的, 哎,我们其实呀,还可以这样写啊,如果说是我们进行筛选的,这个这个条件啊,我们是以一行里面进行来筛选的,哎,并且呢,我们,对吧?如果 一行里面有多个条件,有多个条件,那就比如说什么情况呢?我们这边是不是有一班,对吧?那么二班,嗯,怎么说呢?我们就说,呃,他这一行可能我们要筛选两个条件啊,两个条件, 两个条件,也就说我们要第一列啊,要筛选一个一般的,对吧?一般的, 那么电焊呢,我们还要筛选一个,嗯, 怎么说呢?我想一下啊,怎么给大家去做这个解释呀?就是它是一个并且的效果,我们要同时满足两个条件,也比如说我们第一行,比如说 我们心,首先他得是一般的,对吧?第二个条件啊,他得是,哎,张三一啊,我们不要张三啊,我们不要张三,哎,这么一个条件啊,这么一个条件,我们要把它筛选出来, 哎,我们要从这个里面进行一个筛选出来,嗯,我们这这这是一个警写的方法啊,我们直接做返回,返回之后呢?返回之后呢?我们,呃在这个 item 里面去进行一个判断啊, 它里面有没有包含这个?一般, 哎,我们来一个按的符号,并且啊,他还得,他还得包含 包含张三一吧,对吧?他得满足这两个条件我们才返回, 对吧?那么我们再给他一个表头,我们这个表头啊,哎,还可以这样写啊,那我们把这个用一个括号给他括起来啊,我们这个,我们这个逻辑运算啊,这是一个, 我们看一下啊,我们还可以啊,还可以这样把表头呢,并且啊 at em。 哎,它包含包含啥?包含我们的这个班级或者学号或者姓名啊,随意的给他一个都可以啊, 包含姓名我们也给他返回啊, 那么我们写完这个以后啊,我们来测试一下啊,我们来测试一下我们会得到什么样的一个结果啊?我们先来预估一下啊,我们这样的写法呢,他其实是会得到一个,哎,是一班,并且呢,哎姓名还得是张三一 这样的一个值啊,并且呢我们把这个这个也给他包含进去了啊,把这个表头呢也给他写过去了,我们看一下结果是不是这样的啊?哎,我们发现我们好像 只写入了一个姓名啊,我们看一下 是什么营业啊? 哎哎,我们这个地方,这个地方不对了啊,这个地方我们应该改到 a 一到 c 六啊,因为我们多加了一下, 哎,发现没有,那么这样我们就可以把它在多条件的情况下呀,哎,也可以进行一个提取了,其实也就说这是一个我们用上面的这个方法呀,也是可以写啊, 而且呢这样写呢思路会更清晰一些啊,我们用一单个的意思来进行一个判断,并且做返回,那么我们在这样写呢,虽然很简洁啊,但是呢我们可能,哎, 呃,可能,呃,对这个,呃,冰城呀,不是特别特别熟悉的人,可能就是看起来了, 可能会觉得有点不太好理解啊,其实呢这样写是最好的啊,这样写是最好的,我们直接返回之后,并且呢给他,直接给他调静啊,直接给他调静,我们用这个,呃这个这个运算符的一个方式呀, 哎,来给他进行一个羽货啊,这样一个一个运算就可以了啊,那么我们就可以进行一个多条件的一个筛选, 或者是单个条件的一个筛选。好,那么这就是我们这个 filter 这个方法的大概的一个用法啊,那么我们下节课呢就呃来做一个例子啊,这个例子呢,这节课我先给大家打开看一下, 哎,我们会呃会涉及到一些什么样的一些知识 哎,首先呢我们呃在呃加入了一些新的一些知识点啊,加入一些新的知识点,那么我在这边啊,哎去给大家加入了 一个窗口啊,加入了一个窗口,并且呢还有一些空镜啊,一些空镜的一些玩法啊,一些空镜的一些玩法。之后呢根据我们这些空镜的一些值呢, 哎去显示一些数据。哎,其实呢他最终使用的方法呀,也就是我们的 filter 啊,就是我们根据我们给他的这个空径的每一个不同的值啊,他去呃对 filter 呀,去进行一个复值, 也就是判断我们应该以什么样的条件去进行一个查找,其实就是这么一个 这么一个方式。好,那么这节课就给大家讲到这里,我们下节课再见。

有粉丝提出这么一个问题,在 wps 当中可不可以写一个用 gs 开发环境的一个查看代码, 我们看一下这个在 w p s 当中,它是有两种开发环境,一种呢是 g s 开发环境,也说用的是 javascript 代码,另外一种呢是 v b 环境,也就是说用的是 v b a 代码。 那么在这里的话,在开发工具啊下面有个切换到 v b 环境,点一下切换到 v b 环境之后,就是说我之前那些 v b a 代码就可以去使用,如果说你没有这个 v b 这个环境的话呢,之前我那些 v b a 代码它是不可用的, 因为在 wpad 当中,他默认的话基本上就是打开的是 j s 开发环节,比如说他必须用 j s 的代码 来进进行解决,需要注意这一个问题。那么首先的话我们来看一下这个 g s 代码,这里我给整理好了,还是一样,就是这里我们去拆分十二月份的工作表,拆分成单独的 excel 文件, 在这一个开发工具下面,我们点击这个 wps 红边机器,或者你用快捷键也是一样的,就是奥特加 f 十一, 我们点开之后的话呢,我们把这个代码我们给他贴过来,代码的话呢都会放在粉丝群,需要的话可以领取就可以。然后的话我们还是一样,我们 nf 五或者呢你点击这里有个运行 这里的时候,他会提示红名称,我们就选择这个拆分工作表,然后点击这里运行, 提示这个拆分完成,就是已经拆分完了,然后我们点击确定拆分之后的文件在哪里去看呢?就说你这一个总表发在哪里就去哪里看, 那我们看一下这个是总表所在的路径,下面的话呢?是刚才用代码拆分出来的十二个月份的工作表, ok。

本节课我们讲解一下开发工具选项卡下面录制新红这个功能。首先说明一下录制新红这个功能他的作用,此功能适用 gs 代码记录用户对应用程序的操作, 也就是说当前我们在软件上的任何操作,它都可以用 gs 代码记录下来。接下来我们演示一下如何使用录制新红这个功能,它分成三步,第一步,录制红,第二步,停止红。第三步,调用红。 首先我们来看一下第一步的操作,录制红。在录制红之前,我们确认一下当前是否是 js 编程环境,如果录制新红上面这个图标显示的是 js, 证明是 js 开发环境,如果不是,那么我们可以进行切换。此时录制新红上面没有 gs, 我们再切换,出现了 gs 图标,表示是 gs 开发环境。接下来为了让用户看到我们在操作时所产生的代码,我们调出 wps 红编辑器, 调整一下 wps 前端和编辑器的显示比例,以方便观看。 调整好左右的仕途比例之后,接下来开始正式录制新红。在录制新红之前,我们说明一下本次录制新红的目的是在每一行工作 记录上添加工资条表头,所以首先选择要进行操作的单元格区域。接下来点击录制新红。 在弹出的对话框当中,我们可以对陆志宏的相关选项做设置,比如说宏明的设置, 他默认为马克尔一,如果第二次录制则显示为马克尔二,第三次显示为马克尔三,以此类推,这里使用他的默认设置,然后点击确定,大家注意观看我在确定时右侧红编辑器他的变化, 此时在右侧红编辑器当中,在代码下面自动创建了一个新模块,并且在右侧代码区当中显示了关于陆志宏的相关信息,比如 比如说录制的用户录制的时间,并且在下面自动创建了一个马克一过程。等一下我们在 wps 当中操作的时候,对应会在当前这个过程的这一对大括号之间自动产生代码。好,接下来我们正式开始录制, 本次录制我们需要点击使用相对引用,对于使用相对引用功能,我们会有专门的视频做讲解,本节课不详细做说明,接下来开始操作, 请注意此时我们所做的每一步操作都非常关键,所以我们操作时必须严谨。接下来我们的目的是将选择的工资条表头复制到序号一和二之间,它的本质就是跟第二条记录做表头,因为第一条已经有表头了, 我们这个操作实现的是插入复制,首先按住 ctrl shift 键,然后鼠标指到底端选择的这个区域的底端,当鼠标成黑色十字箭头之后,按下鼠标左键向下拖拽,此时虚线出现在序号一和二之间, 首先松开鼠标左键,再松开键盘上的快捷键,完成操作。在右侧红编辑器当中,我们可以看到在大括号之间产生了代码,这个就是刚才我在做这一步操作的时候所产生的代码。接下来我们停止录制, 录制完成,录制红完成之后,接下来讲解如何调用录制的红。第一种调用方法直接在红编辑器当中调用,首先我们选择要 复制的工资条表头,然后光标定位到马口一这个录制的后,然后再点击运行, 点击一次,复制一次,当前有多少个人的工资条就需要点击多少次。 接下来我们再讲解第二种调用方法,使用 gs 红这个按钮。首先同样选择要复制的工资条表头,然后点击 gs 红,此时我们可以看到马口一,也就是右侧红编辑器当中录制的这个马口一, 我们选择马口一,然后点击运行,此时运行一次,如果想再次运行, 则继续点击,这是第二种调用方法,接下来我们讲解第三种调用方法, 可以通过绘制一个按钮或者是图形来进行调用。本次演示我们通过绘制一个图形来调用,在插入选项卡下绘制一个形状,绘制一个圆角举行, 然后指向图形,点击右键。在快捷菜单当中,我们选择指定红,将 mac 一这个红指定给当前这个圆角举行,点击确定, 此时我们选择要复制的工资条表头,然后单击图形运行一次,运行两次,运行三次,直到完成每一个人工资表头的复制。刚才我们演示了开发工具落 录制新红他的使用方法,接下来我们讲解一下录制新红他的一些优点和缺点。他的优点主要有两点,第一,录制红时只需要用户做基础操作,这 s 红带吗会自动生成,这比其他不带录制功能的编程语言具有更多的优越性。 第二,当要查选某个操作对应的 gs 代码时,可以通过录制红迅速获取。 接下来说一下他的缺点,主要有三个,第一,并非所有的操作都能产生相应的代码,也就是说有的操作他可能不能产生对应的 gs 代码。 第二,录制红时通常会产生一些荣誉代码,也就是录制时所产生的代码有可能不够精简,会产生一些多余的我们并不需要的代码。第三,录制 制红所产生的代码不能做判断、循环、交互等处理。比如我们录制的复制工资条表头,由于无法录制循环功能,所以无法实现运行一次,则将所有人的工资条记录复制完成, 只能够实现一条一条的复制。在后面的课程当中,将会讲解如何在 gs 代码当中做判断、做循环等处理,已达到制冷批量的处理数据。好,本节课关于录制新红的讲解到此结束,再见!

本节课我们介绍一下如何在 wps 当中启用 js 红。我们以 wps 表格为例, 当前我们创建了一个工作部,在当前界面当中,我们切换到开发工具选项卡, 此开发工具是为二次开发者提供的工具,如果 wps 内置的功能无法满足用户的需求,则用户可以通过使用此工具对 wps 功能做拓展开发。 wps 支持 vb 和加我 script 的两种语言,因此我们可以在开发工具选项卡下面最右侧的这个按钮上进行两种开发环境的切换。我们可以通过最左侧的这个按钮来识别当前的开发环境,如果显示的是 vb 红, 则是微粒开发环境。此时我们尝试切换这个时候最左侧的这个按钮,他的提示文字变成了 js 红,也就是加我 script 开发环境。我们简称 js, 表明此时是 gs 开发环境,我们推荐使用 gs 开发环境。如果我们需要将 gs 开发环境设置为默认的开发环境,则可以通过点击文件菜单, 再点击选项,再选择仕途。在右侧最底端,我们勾选默认 js 开发环境, 确定以后,在新建工作部时,他末日的开发环境就会变成 gs 开发环境。接下来我们简单说一下使用 gs 红进行开发的优势。 gs, 它的全称叫做家务 script, 是当前非常主流的开发语言,有着简洁、灵活、快速的特点。将它作为 wps 二次开发语言,能够更高效的完成用户的开发需求。 接下来为大家演示一下 js 红的使用场景。第一个例子,我们希望批量的生成工资条, 我们这里准备好了一张工资表,当前有十个人的工资记录,如果我希望将这十个人的工资记录分别生成工资条,我们可以通过点击生成工资条按钮进行生成。我们尝试一下点击生成工资条, 此时我们可以看到批量工资条生成完成,该按钮关联着对应的一段 gs 红代码。接下来我们再举例说明第二个案例, 快速将当前工作部下面结构相同的这些工作表合并到同一张工作表。这里我们没有使用按钮,我们直接通过开发工具选项卡在最左端选择 gs 红。 这里我们已经写好了一个合并工作表的代码,可以直接点击运行。 此时我们将业绩表当中的所有工作表数据合并到工作部,并且在最后一列显示了每条记录来自于哪张工作表。如果我们要查看一下我们所编写的代码,可以通过点击 w 偏死红编辑器,此时看到刚才我们运行的这段代码。我们写的这段代码可以适用于任何结构相同的表格进行合并。 接下来我们简单演示一下如何在 wps 当中编写运行 gs 红代码。我们将光标切换到开发工具显现卡,然后点击 wps 红编辑器,或者是按快捷键艾特加 f 十一键。 此时我们切换到了 wp 四红编辑器,他会默认创建一个模块模九 a, 在右侧代码窗口则可以编写红代码。 好,我们简单的编写了一个红程序,接下来介绍一下当前红代码的结构。最前面的 faction 是关键字,这是一种固定写法,红代码在最开头都要输入该关键字,注意大小写,该关键字全部为小写。在 faction 的后面, 我们再输入自定义的名称,然后在其后面接一对括号。小括号的后面再接一对大括号,这是左边的大括号,这是右边的大括号。 在这一对大括号之间,我们编写正式的代码。当前这句代码表示的是使用消息框来显示。你好, js 红这段文字。接下来我们开始运行,可以通过点击顶端的运行和按钮, 此时弹出消息框,并且显示文字,再点击确定结束代码的运行。好,本节课关于如何启用 gs 红,讲解到这里。


大家好,用电子表格编程很难吗?那只是欺骗你的说法,其实很简单,我保证你一学就会。我这里用的是 w p s 的 j s 语言,一个简单到连三岁小孩都能学的会的语言, 你可以用它来批量办公,写个游戏,总之什么都能做。我们今天学一点最简单的 j s 语言,我们需要点击菜单栏上面的工具,然后再找到开发工具,我们再看到 w p s。 红编辑器,在这里我们就可以编成了。 我们现在就在编程的界面下面,我们写第一个程序,超级简单,我们先写一个单词 function, 这是个固定写法,就是程序执行起始的位置,你不用特意去记这些单词,因为有 w p s 会提示你。我们给这个程序起个名字叫输入单 单元格,输入单元格后面要加上英文括号,括号后面加上花括号。我们正式的程序在花括号内书写好了,我们开始书写我们的第一行代码, 作用是在 a 一单元格中输入笨人交办公几个字,我们输入 range 括号,括号里输入 a 一,表示指定 a 一的单元格。我们再继续输入点 y 六二,等于笨人交办公, 意思是 a e 单元格的值为本人交办公。好啦,我们程序写好了,我们下面点击运行,看看运行结果吧。我们切换到表格界面, 现在我们发现 a e 单元格被输入了本人交办公几个字。怎么样,是不是很简单呢?

大家好,本节课我们学习一下在 gs 红里面最重要的技术之一,循环语句。 循环语句是实现批量处理数据的关键技术。本节课将介绍使用频率高且易学易用的 flow 循环语句。通俗来说是将指定容器中的元素逐个读取出来进行处理。例如我们可以逐个读取数组当中的元素, 或者是将字符串当中的每个字符逐个读取出来,或者说读取 wps 各种对象集合的元素。 接下来我们就演示一下如何从数组自辅串对象当中来便利读取它的元素。首先来说第一种从数组当中读取元素。打开 wps 红编辑器,点击插入, 再选择过程。在名称里面我们输入一,点击确定在这一对大括号之间循环读取指定数组的每个元素。首先我们创建一个数组, 然后我们使用 four off 循环语句读取这个数组当中的每一个元素,写法如下, four of 循环语句结构书写完毕,该语句表示的是从数组当中将元素逐个读取出来,复制给 off 前面的变量 va。 二是固定写法, 表示声明, txt 为变量,他将存储从数组当中读取出来的每一个元素,当前数组只有三个元素。接下来我们循环处理的方式是从数组当中读取出来的每个元素,在立即窗口当中显示出来,写法如下, console log 表示在立即窗口进行显示, txt 表示从数组当中获取的每个元素。我们可以按功能键 f 十一来进行逐句运行, 此时注意观察立即窗口显示结果。第一次循环出张三,第二次循环显示出李四,第三次显示出王麻子,此时将数组当中的所有元素循环结束,整个循环结束。 接下来我们再演示一下循环读取出字佛串当中的每个字符。操作如下,我们创建了一个新的过程,它的代码结构像上面的循环数组元素的代码结构一样,可以通过复制来完成。 复制之后只需要将原来的数组修改为字符串。 接下来我们再演示一下他是如何将当前这个字符串的每一个字符夺取出来的。逐句运行一下代码 光标,定位到当前代码的任意位置,按功能键 f 十一、注意看立即窗口的变化。读取第二个字母,第三个字母,第四个字母, 依次便利循环出来,直到结束。这是循环字符串当中的每个字符。接下来再演示一下循环集合当中的每个元素,也就是集合当中的对象。我们以循环读取当前工作部下所有工作表名称为例,可以多性鉴几个工作表 名称,分别为,试题一、试图二、试图三,好,接下来开始编写代码过程,名称为 test。 三、 他的结构也和上面两个循环的结构相似,我们同样复制 修改一下关键位置,他要循环便利的是工作表集合,因此我们在这个里面将原来的 字符串修改为是此,表示当前工作部下所有工作表集合,然后将他的变量名称改为更为合适的名称 s h。 我们在康 solo 个括号里面输入 s h, 表示循环迭带出来的每一个工作表。当前来说指的就是是第一,是第二,是第三,那么此时我希望看到他的工作表明称我可以在他的后面输入 s h 点儿内, 那就表示获取循环出来的工作表对象他的名称。接下来我们同样在立即窗口来进行显示循环结果同样按功能键 f 十一,此时出现错误,当前是词当中的 s 应该为大写的 s 好,重新按功能键 f 十一, 第一个工作表的名称读取,第二个读取,第三个读取。此时工作表集合循环结束。一共有这三个工作表,这就是关于 fo 循环语句它的使用方法。在后面的课程当中将有更好的案例讲解,本节课讲解完毕。

呃,同学们晚上好,那么今天晚上呢,我们,呃在正式开始上课之前呢,先来写一个小实力,这个小实力呢是把多个文件合并为一个文件啊, 那么这个其实就是一个合并的操作,有会员的话啊,其实也非常简单啊,那么我们用这个方法来进行合并的时候,他就有几个要点,第一呢就是获取到文件, 并且打开文件之后,把数据获取到之后重新写入就可以了,非常简单的一些步骤啊,那么我在这边呢,我来,嗯, 我来新增几个啊?我来新增几个,那么为了让他看起来不一样一些,我来这边新进一个文件夹,那么里面我来新新增文件啊, 呃,随便什么格式啊,都没有关系。那么我在这边呢,我来写入一些数据,嗯,比如说我在这个表呢,全部写一啊,全部写一,那么数据列的话,就我让他统一一下,就 a 到 n, 好吧,就 a 到 n 就可以了, 就 a 到 n。 好,那么我来稍微复制一下,然后再新增一个, 这个新增出来呢,我让他全部放二,那么我这边就用三个三个表来做一下就行了啊,因为,呃,数据多少其实 只是一个时间的问题,他跟我们的代码没有太大的关系啊,我们无论是有三个表,四个表,那都不影响的啊,都不影响。我这边呢,我来一个 三,好,我们就把一二三合并到一个工作表中,一会我们要做的操作啊,这就是我们把它另存为到桌面上的新进文件夹。 好,另存完了,这个呢也另存一下。 好, ok, 那么现在呢,我们就有三个工作部啊,这三个工作部中呢,就有一二三这样的一些数据,我们现在呢,想要把它合并到单琴这一个 这个工作部中啊,比如说我想把它合并到单行工作部的 shit 一中啊,那么刚刚好像 弄漏了一点啥,就是没有给他一个表头,因为一般来说我们做合并的时候,我们的数据呢,都会有表头的存在,对不对?那么我们会有一个去表头之类的动作, 因为我们可能啊,只对第一个工作,不需要保留一下他的表头,那么我在上面插入一下啊,呃,比如说呢,我们只想表留保留一下表头一啊,在这边写一下表头一 啊,这边叫表头一啊,这边的话叫表头三啊。 好,这里还有一个表头二,对吧? 好,完善,那么我们把它保存一下。 好,接下来呢,我们来做这个合并合并的代码呢,呃,就有,我们就遵循三个来写就行了。第一个呢,我们是要干什么?我们要获取到这些文件,那么, 呃,之前呢,我们用过一个 del 的方法来获取文静夹中的名名称,对吧?文静的名称,但是后面我们学了文静对话框以后啊,我特别推荐大家使用这个方法,因为这个方法呢,它是以互教的方式让我们去选择, 明白吧。那么,哎,他是在跟对象下面的 fire download 啊,那么也就是文静对话框,那么我们停给他第一个参数啊,我们打完括 好以后,就会看到他把三个参数都调出来了,那么我们要给他的是第一个参数,第一个参数呢,就代表啊,我们给他提供的就是文静对话框选择文静的,明白吧?第二个参数呢是选择选择路径的,也就是选择到文静家, 在后面的是打开和保存那两个对话框,好,我们啊创建调用完这个文件,呃,文件对话框以后呢,我们要把它显示出来,显示出来呢叫做瘦方法, 哎,这样就显示出来了啊,显示完了以后呢,我们要把来,我们可以现在来运行一下啊,来,我们可以看到我们一旦运行他就会调出这个兑换框,那么我们就可以选择,比如说这几个文件是可以多选的啊,大家注意是可以多选的,我们可以 按 ctrl a 快速全选,或者呢用拖动鼠标的方式直接去选中之后打开就可以了,但现在呢还没有打开代码,那么我们选中的这些文件名称应该怎么样去获取呢?我们,呃,首先它返回的并不是 并不是我们想要的数据类型啊,他返回的是一个对象,所以呢,我们需要把它转换成为我们经常用的也是比较熟悉的数组,那么我们可以用风一起或者其他的循环方式直接对他进行循环,那么这个呢?他有个 pp 点 sleet, 哎,那么这个啊, 这个属性,那么他会返回我们选中的那些文件啊,注意哦,你选中的选中了哪些他就返回哪些,比如说我在这边文件对话框打开了以后 后,哎,文件段看打开了以后,对吧?那么我在里面新建文件打开,我只选一个,那么,哎,大家注意看啊,他拿到的其实就是这里的这一个字符串啊,那么我选两个 他有什么区别?来注意看一下是不是这里有像数组一样的有三个值啊?每一个值是一个字符串,只不过呢,他中间没有数组那样的一个逗号,对吧?那么其实他就是把这个字符串拿去分割为数组之后呢, 对不对?那么传给我们的书组就完了,明白吧?那么,呃,是不是非常简单呢?好,那么我们选择完进来以后,接下来呢,就要打开啊,注意哦,他返回的这个文件名称是带着群路径的 路径什么意思呢?就是带着,呃 c 盘下面啊,比如说我们这个文件啊,是在哪里,我们可以看一下啊,这个文件呢,我们点右键点属性,可以看到他的这个位置信息, 是包含 c 盘用户用户名之后呢,下面有个桌面新进文件夹下面的什么什么工作表,对吧?这样的一串,它是完整的路径,所以呢,我们用这个 workbook 顶 open 这个方法去打开一个文件的时候,他要的参数是什么?正好就是那个完整的路径,所以呢,我们选择进来的文件名称呀,我们可以通过循环的方式直接把它进行打开的。 哎,比如说我用 w b 等于 work box 点 open, 那么我在打开的时候,我直接把这个参数传 给他,他就能够打开了,并且呢,不会错误啊,不会报错,不会有那个,对啊,呃,获取到最后一次,他还要多获取一次,或者呢,呃,有文件类型之类的一些因素影响,明白吧?这个方法是非常好用的啊。 好,那么打开以后呢,其实就非常简单了,我们有两种思路去做。第一种呢,我们打开每一个工作部,是不是我们把它的第一个工作表中的内容进行一个拷贝 复制粘贴进来就可以了。那么粘贴到这个工作部的时候,我们去做一些定位,比如说我把一一拷贝到了这一片,对吧? 拷贝到了这一片,下一次考二二二的时候,我定位到这个单元格,再在这里开始拷贝,那么就可以了。其实呢,这样呢,嗯,还稍微慢了一点啊,因为拷贝的方法 其实是比较低效的,比较低效的我们可以选择用一个数组来做这个事,那么我们在这里呢来定一个空数组,让他等于空之后在下面啊,在每一次打开工作部的时候,我们去对他的这个值,让他等于艾瑞顶帕, 在他这个空数组的后面啊去添加元素,那么添加元素的时候,大家注意一下,因为啊,我们打开一个工作部以后,我们拿到的那个值是什么样的,是不是像这样的一片啊? 我们就在这里演示一下啊,是不是比如说我用安散的乱集的方式去获取单琴这个工作表中的已用单元格,我们合并的话,一般来说,呃,如果是单纯的合并,我们肯定是需要把所有的值都 获取到,对不对?那么我们可以考虑用安散的软几,或者呢选中一个单元格进行一个扩展,那么更推荐大家用安散的软几的方式,如果你的这个表啊是从其他系统中导出来的, 那么很推荐啊,很推荐大家用 a sand rang 这个方法,因为它非常的方便。那么我们这里呢,就演示一下,使用 a sand rang 的方式去获取这个值,那么他应该是打开的这个工作部中的第一个工作表, 第一个工作表中的 answer 的 rent 顶 value。 啊,好,那么大家注意一下啊,这里拿到的它将会是一个二维数组,如果我们想要在 把这个把它连接起来,因为后一个表打开也是一个二位数组,如果我们在这个艾瑞中去 pass, 也就去写入两个这样的二位数组,那么我们后面来输出的时候是没办法输出的,对不对? 所以呢,我们其实要在这边呢,给他加一个扩展操作符,这个扩展操作符呢,就是点点点,那么他能够使我们的这个二位数组 就是保持在每一次获取到的值啊,大家可以这样理解,他会保持在同一维度啊,当然呢,前提就是 你每一次拿到的值也要是同样的维度,明白吧,也就说我每一次拿到的都是这样的一片区域,也就是正好是一个二位数组,那么在这样的情况下,我每一次写进去的也能够是呃, 把它转换成同样的维度,那么能够保证来,我刚刚提示空间不足啊,稍微打乱一下,我把这里清空一下啊,一会直播出问题啊,好, 好,我们继续啊。那么简单来说啊,他就是我们加入这个扩展操作服呢,他就是能够保证我们每一次写入进来的数据呢,他能够是接在一起的,明白吧?好,那么这样就完事了,其实已经完了,那么 w b 顶 close 把它关闭就可以了。呃,关闭的时候给他个触板。好,这里给他个触啊,好,那么最后获取完以后呢,我们只需要到单琴工作表,对不对?那么 a e 单元 英格顶瑞赛,艾瑞顶冷尺之后呢,艾瑞的第零个元素,也就是寒,有多少寒啊,有多少列啊,对吧?冷尺顶 value 啊,让它等于艾瑞,那么这样就完了,明白吧? 是不是三步走第一步呢?就是我们要确定如何去拿到这些想要合并的文件的名称,那么我们要把它进行一个打开啊,因为在 gs 红中啊,呃,不打开文件去获取里面的内容的话是,呃,不能够直接对 et 支持的,也就是不可以对表格文档啊,包括 ppt 这样的东西呢,直接去读取里面的内容,但 txt 这样格式的话,是可以用 i o 模式 是去读取的,也就是说你并不需要把它打开,也能够读取它里面的内容,读取和写入都可以,但是如果是 et 支持的这些格式,也就是像表格这些格式就不可以啊,那么这里大家注意一下, 好,来我们试一下啊,现在看看能否正确运行啊。呃,桌面上的心境文件夹,那么我们把三个同时选中啊, 好,来大家注意看一下啊,来,表头二哈,表头三,表头一 对不对?是不是已经获取进来了,并且已经合并进来,只不过有表头存在,并且呢,我们的这个排序啊,好像也是有一定的问 问题。那排序的这个问题啊,其实他是根据我们的呃,在我们把他的这个文件名获取的时候,他会有一个 自动去获取这样的一个动作啊,他会以这个呃我们的工作部名称去进行一个排序,其实大家注意看,没有,就是这个顺序,如果我们把这个稍微改一改, 把这个改一改,改成什么呢?改成工作部啊,工作部, 哎,不啊,工作不灵啊,如果把它改成工作不灵, 然后我们重新排序一下,按名称来排序,哎,零一二哈,好,我们重新排啊,按名称来排序之后呢是递增吧, 好,零一二,好,那么如果是这样的排序方式的话,我们就能够把它一次拿进来,但是呢,大家发现没有,他有三个表头,可能我们在合并的过程中希望把这个表头去掉, 那么这边有两个小技巧啊,第一呢,我们可以选择在这个复直这个地方去进行一些动作,去进行一些动作啊,那么我们可以在这里呢加一个参数, 这个参数呢,第一个 itm 代表单琴元素,第二个呢, in desk 代表下标,对不对?如果下标为零的时候,我们做什么样的动作?如果不为零的时候,那么我们做什么样的动作?我们可以这样处理一下,对不对?可以处理一下,那么就可以把这个表头 他去掉,这是第一种方法。第二种方法呢,我们每一次打开工作部的时候,我们直接去对他进行一下删除,当然删除完以后,我们这个 clouds, 也就是关闭的时候要给他一个 force, 也就是说我临时把你的表头删除掉之后,我把你的内容获取过来, 完了呢,我关闭的时候我不要保存,明白吧?那么这是一个小技巧,那么更推荐大家直接用数组的方式去做,那么在这里怎么做呢?呃,我们可以这样写啊,把这个动作放出来 来,来一个 type, 让它等于这一个值,对不对?让它等于这个值,那么我们在这边呢需要来一个判断。判断 什么?呃。 in desk, 比如说呢?我叫 in desk 等于零,我们来个三元音算符啊,如果他等于零,那么我要怎么做?我要怎么写入啊?否则我要怎么写入? 那么写入的是一个太普,呃他不等于零的时候呢?就是这个,呃。他等于零的时候,那么就是这个太普,但是要顶顶顶太普啊。 如果他不等于零的时候,那么要怎么办?哎其实好像不是这么做啊等一下啊。 呃其实不是这么做啊,我这写错了一点,应该是,呃。 every 点 pass 之后呢?点点点太 是怎么样都要来的。那么这边 in desk 等于零的时候,那么我们有两个方式啊。第一个呢,如果他等于零,说明这个表头啊需要保留,对不对?需要保留下来,也就说不用做任何的操作,哎不用做任何的操作 就可以了,直接给他返回一个零啊,没有关系的。那么否则呢?我就把这个艾瑞,哎不是艾瑞啊,应该是太普。呃。顶 shift, 哎,就是把他的表头给他删掉,明白吧? type 点 shift 删掉。删掉以后呢我在这里再进行写入,那么这个时候他就会少着一个元素,明白吧?少着一个元素呢,就会出现什么情况呀?就会 出现我们的这个就对了啊。来我们运行一下,是不是非常简单这个这个操作的话其实就是非常简单啊。哎,我看,哎,我这边打错了吧,谢谢。福特这边打错了, 哎。重新运行看一下啊。他只写入了一个,哎。他怎么还是新打开的工作不一啊。 好,打开好,我们看一下啊, 表头一啊,那么二的地方表头二不在了,发现没有三的地方表头三也不在了,那么这样呢,我们就完成了合并,是不是我这边呢,只用很小的数据和三个工作部来给大家演示,如果 我我们想要对呃打开的每一个工作部里面的多个工作表的数据也一起把它合并过来,怎么办呢?其实在这里再加一个循环就可以了,我们在这边呢,还可以循环 打开了这个工作部下面的所有工作表,对不对?在循环的过程中,我们再去对这个数组添加纸就可以了, 那么你有多少都没有关系啊,只要我们的这个工作部还能够存放得下,那么都能够写入进来,我推荐大家使用数组的方法,因为我们现在已经数组也学习过了, 对吧?那么这个扩展操作符呢?没有讲过,那么在这里呢,大家粗略理解一下就可以了。我们加这个点点点,就是把它每一次拿进来的二维数组呢,放在同一维度保存到另外一个数组,其实 类似于我们调用这个 cut 这个方式把两个数组进行连接,哎,就是类似于这样的动作,明白吧?当然用 cut 也可以,只不过这样写呢,更方便更简洁一些,好吧, 好,那么这就是关于合并的问题啊,当然呢,我们合并这个只是最基础的,我们还有一些比较特殊的合并,就比如说在合并的过程中,我要对他进行一些特殊的处理,比如说计算,或者呢去掉某一行某一列 之类的一些,或者是再去添加一列,比如说现在我想在这边去添加一个什么,最左边去添加一下数据来源,把他的工作部名称带过来,可不可以?可以的,非常简单啊,非常简单,因为我们这些值都已经拿到了 it m 代表 文件的名称,对不对?是不是文件名称已经有了?那么我们只需要在哪个位置啊? 在这个位置对不对?在这个位置我们去调用一下顶麦谱的方式之后反写一下啊。当然呢,他就多跑了一次循环必须要多跑的啊,没有办法,这个是肯定是要添加的。 好,那么呃,这个合并工作部的问题呢,就给大家讲到这里啊。

本结构我们学习一下 g s 红里面的分支语句。首先来看一下分支语句的基本语法结构。 首先 f 关键字开头,然后在后面的这一对括号里面写上条件。如果括号里面的条件成立,则在他下面的这一对大括号之间写上条件成立的语句块。 所以这里说的是条件为 two 时执行的代码快,也就是这个里面的条件。当它的结果为 two 的时候,应该执行的代码语句快就写在这个地方。如果条件不成立,就写在 l s 的后面, l s 后面再加一对大口号, 在写入条件为 force 时执行的代码块。好,接下来演示一下。 首先我们写上 if 空格括号,如果返回的值为 two, 那么我们在大括号之间进行回车换号。比如条件成立在立即窗口,返回是 console log, 表示在立即窗口显示。此时我们可以运行一下,按功能键 f 十一开始运行当前运行到第三行代码,由于上面的条件成立,所以在立即窗口它一定返回的是。如果上面的条件不成立, first 重新运行一下,同样按功能键 f 十一,此时它并没有执行当前的语句快,也就是我们的条件分支语句可以不写 else 后面的语句。 如果不写 airs 后面的语句的话,当条件不成立的时候,不会做任何的处理。当然,如果我们加上 airs 语句, 此时表示编写条件为 force 的时候,它的处理语句。比方说,当条件不成立,返回否,我们再次运行,按功能键 f 十一 返回的是否?如果我再次将 force 改为 two, 此时再次按功能键 f 十一 返回的是。通常我们会在这一对小括号之间执行比较运算,比方说大于小于等于不等于这些常见的比较运算,而不是直接的写入逻辑值 或者是 force。 接下来我们结合当前 shit 一表格当中的分数来进行判断,当这一列的分数大于等于九十,则返回优秀,否则返回普通。方法如下, 重新创建一个过程,使用前面学习的循环语句来分别循环出指定区域的分数,当前要循环的单元个区域为 b 二到 b 时期。 好循环语句的结构编写好了,表示将单元格区域 b 二到 b 十七的单元格逐个循 循环出来,复制给变量 score, 我们可以通过这个 score 可以获取每个单元格的分数。先测试一下使用 console look score 点 value r score 表示循环出来的每一个单元格对象,后面的点 value are 是表示获取这个单元格的值。接下来我们运行一下光标,定位到 test 二模块当中,然后点击运行后, 此时所有的分数循环显示出来。接下来我们可以将上面讲解的这个分支语句复制到 test 二这个模块当中, 然后做适当的调整。我们可以将小括号里面修改为 score 点 value 二是否大于等于九十,这就是它的条件。如果循环出来的数据是大于等于九十,那么我们在立即窗口显示优秀。 如果条件没有成立,则在 airs 下面的语句显示普通。再将上面的这句代码删除,这就是一个完整的循环判断语句。接下来再次按功能键 f 十一看一下它是如何进行判断返回的? 我们可以对照着左边的分数开始运行,第一个九十六是大于等于九十的,所以返回的是优秀。此时进行第二个判断,第二个它的值是六十五 是条件不成立,则返回 airs 下面的语句返回普通,以此类推,它会将分数循环判断 好,我们依次执行完毕,点击运行后,整个判断结束。这就是分支语句与循环语句的结合使用本节课我们就讲解到这里,再见。

大家好,欢迎呃,回来跟我一起学习 wpsgs 红冰城的第三节课啊,这节课呢我们主要讲解一下, 呃批量插入图片在我们的这个表格里面啊,把把图片呢就是批量的按照我们给定的一些条件呃大小格式位置 啊做一个批量的插入啊,我这边呢呃写了写了一段代码哈,这个呢就是说在前面的影视中呢,我用了我给大家介绍过一次啊,之后呢,嗯这边我又做了一个警花 啊,而且呢就是我在下面加了一个批量插图的一个升级版啊,这个呢能做到的呢,就是说我们在插图的时候 能够去啊按照我们的这个单元格我们给定的这个条件啊,就是也就是这个货号或者是最后面的一个人物名称 啊,来在对应的这个格子中去插入这个图片之后呢,嗯,还可以呢,就说是他,是 他是根据我们的这一个单元格的一个大小自动的去调整这个图片的尺寸啊,他就不像我们上面写的这个把这个图片的尺寸呢去固定的写成一 百五乘一百五啊,他可以去动态的去做一个获取。我这边虽然有定义,但是我没有用这一个冰凉啊啊,我现在呢就用下面这一个代码给大家呃运行一下看一下效果哈 啊,这个呢就是我们代码运行以后它自动插入进来的一个效果 啊,之后呢现在我们把这个单元格的大小呢做一个调整啊,之后再来做一次插入, 看他有没有就是说按照我们的这个动态的去获取到这个啊,我在下面加几个名字啊 啊,这边运行完呢,也是啊,大家可以看一下效果。我们这个图片呢,它插入进来呢, 他就是说根据我们的这个单元格的一个大小,我们做了调整,他就会跟我们去同事的去做一个调整, 那之后呢影视呢就做到这里之后,我们去详细的看一下这个代码啊,就是说我们要写出这一个代码,首先呢需要具备一些呃什么知识,需要了解一些 呃什么方面的东西哈,那首先呢我们呃是通过这个录制红的方法得到这个插入图片的这个函数。 哎,我们呢也可以去去去做一个查询,就是在我前面教给大家的一个方法,就是说在我们的这个 wps 的这个 开发平台,开发平台去找这个文档,但我来这里找的时候呢,我不知道插入图片应该是要用里面的哪一个函数,对吧? 我们在这种情况下不知道我们可以做一个录制啊,也就是我们这边说的录制红的方法啊,现在我给大家做一个录制,我们在这个地方 啊做一个录制点这个开始录制,录制完了之后呢我们去插入一个图片哈,就就跟我们正常的去手工插图一样的 啊,这边的选浮动图片啊,不要选侵入单元格的之后我们随便在随便在我们的电脑里面随便去选 选一个图片。 好,我们插入进来,插入进来之后呢,我们把这个红录制给它结束掉之后,我们来这边查看一下录制出来的代码 啊,这边有时间哈,上面这些是前面就录制的啊,不用管他,我们就看这个啊,这一个就是现在的时间,现在的日期录制的哈, 他主要其实就是这一段代码啊,我们就干了一个事,我们就直接插入了一个图,完了插入之后他是一个选择的状态,对吧?之后,呃,完了之后我们又选了一个一起时的单元格啊,我们把, 呃,现在这个代码能不能运行呢?我们试一下哈,就说他直接录制出来的,我们直接去使用他让他把这一张图片再插进来啊,他提示语法错误的啊,是因为这个,这一个是一个方法,他前面没有一个对应的, 他录制出来的,他就不像我们去编写的那样啊,现在就可以,但是他插入进来的位置啊,位置是这个负一负一,他固定的永远只会插在这里 啊。说到这里呢,我们来了解一下,这一个也就是我们的核心的一个函数啊,我们要写这个这个批量插图的这个工具呢,我们最 核心的一个代码,我们要把这一个函数,这一个方法去把它 完全完全的做一个了解才可以哈。来我们查,查的时候啊,注意一下,大家注意一下,查的时候你看我这边复制进去啊,因为我们写的是表格程序,你看他这边, 呃,有一个 apapi 的地方,前面有有一个文字,文字影视,对吧?我们要看对应的是的表格的这个方法 啊,如果你顶到文字里面,他虽然文,呃,那个文档的表格和文档的那个函数跟这个表格的函数他是有一些区别的哈,来我们看一下这个 函数啊,他这边说的是信有文件创建图片返回一张代表图片的试探对象啊,之后呢?这个是,这个是他的函数云行, 嗯,他有这这这么几个参数啊,括号里面是要去停,写的一些参数,之后他这边全部都是必选的,就是说必须停,不可以控制啊,他这个有一二三 四五六七七个参数,每一个都要停啊。我们看一下第一个,第一个代表的就是, 呃,文件,也就是我们的文件名,其实就是完整的一个路径,我们在这个地方就是,哎,你看我们这边插入完了之后,我们 露出来的代码是什么样子, 我们露出来的代码,对吧?他第一个是用一个引号引起来的,说明他是一个自负串, 之后是一个这一张图片所在的网警路径,完整的一个路径,包括最后是跟着他的一个文静名 啊,平和起来的一个。最后第二一个呢?第二一个,呃,我们用默认的就好,这边说的是要链接字的文件,将图片与文档一起保存,这两个呢,我们用他默认的这个参数啊,用这个就可以啊, moss, boss 就可以了哈。最后呢?后面的,后面的就是,呃, laughter 的意思哈,就是图片,图片的一个位置,就是他是 左上角啊,刚才我们插入这个图片,大家注意到没有啊?你看我这边插入的图片, 插入进来以后哈,你看他的这个位置,他说的这个坐标 xy, 对吧?他这个 love 的 top, 这这两个意思就是说我们左上角的这一个顶顶的位置啊,就是距离这一个地方过来有多远,这个地方过来有多远的,是是这个顶啊,也就说我们图片放在哪一个位置取决于他的左上角这个点, 他左上角的位置在哪里,他就是放在哪里了哈,后面的大小,大小呢?就是后面两个参数了,位置还就是这这这两个啊,这两个就是决定了这单 图片你保存进去啊,你导入进来的时候,要是一张一百五乘一百五还是三百乘三百啊,决定的是这一个图片的大小 啊。之后把这个函数搞懂了之后呢啊,我们还要做几个准备工作哈,就说我们在 我们在这个写这个程序之前哈,我们还需要准备准备两样东西哈,就是第一个呢,我们 先在桌面上需要去进一个,进一个我们这个保存代码,也就是编写代码的这样一个文件啊,编写完了,呃,先进完了之后需要另存一下, 因为我们新进的时候他是不可以保,直接直接新进成 xi, 呃,这就是我们这个 xism 这一个格式的,我们需要另存一下,把它存为这一个格式 啊。保存好之后呢,我们还需要准备一些素材,就是我们的一个图片的素材啊,我这边我这边准备的是 有这么一些啊,这么一些之后,我这些的话有人物,有货号啊,一些奶粉的一些品牌啊,之后呢,我就把这些图片直接去考进去了, 新进一个, 我就我就我就不先进了,我直接复制出来吧啊,大家在写的时候呢,就大家在做的时候去去做一个复制啊, 也就是说有一个要求,我们的这个代码所在的这个文件,也就是我们要做插图的这个文件,跟我们的这个索要插的这个图片的文件夹需要在同一个目录 啊,同一个目录也就是同在桌面,他就是同一目录啊,或者说呢,他同时保存在我们的一个地盘 c 盘,他都是同一目录啊, 但是呢他又他又分着啊,就比方说你把一个保存到我们的地盘下面,另外一个保存到地盘下面的某一个文件夹,这样也是不可以的啊,他必须是这两个 在同一目录啊,我们去这这一个代码的才好去执行。或者你也可以说是,呃,把它新进出来以后,把这两个文件共同放在一个文件夹啊,之后这也是同一个目录啊,之后写完之后呢?呃, 这这一步准备工作做完了之后呢,呃就可以开始去着手,并且我们的这个代码 把这个核心代码录制完了之后呢,呃,我们下一节课继续接着往下讲怎么样去把这些代码 给他利用起来,去做到一个循环,就是把里面的所有图片都去跟我们表格里面的这个文件呢去做一个对比 啊,就是说,呃,这张图有没有在我们的资料里面,对吧?应不应该把它插入进去啊?就像就像这里的效果一样的是吧?就是说你看我这边运行了以后 啊,他有图片的,他就直接把图片放进来了,没有图片的啊,就输入一个暂无图片,对吧 对吧?那个后面的,呃,全部都是这样包括, 而且呢这是一个动态的啊,动态获取的,那就比方说哈,我把这几个呼号再复制一下,放到我们的这个最下面啊,他函数变了,是吧? 跟刚才不一样了,那这样能出来吗?来我们运行一下啊,看到没有? 他都是可以可以跟着的,他是呃动态的去获取我们的这个有多少含,应该去匹配多少多少含,你有内容他就去做匹配,没有内容他就不匹配了,是这么一个逻辑啊。 好了,那这节课就呃给大家讲到这里之后,下节课呢,我们就着手呃,一步一步的去把我们的这个代码直接去写出来哈, 这一些呢就是说下节课我就不看了,我们就直接用一个新的表啊,用我们刚刚新进出来的这这两个表呢去给大家去写啊,用这个里面的这两个表啊去给大家去, 大家也可以跟着我一起写啊,写完了大家就会有一个深刻的了解,也就差不多能够掌握了啊。