ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: ctp_119

[原创] 跟我学JavaScript in WPS

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2022-5-16 16:47 | 显示全部楼层
支持楼主~~~~~~~

TA的精华主题

TA的得分主题

发表于 2022-5-16 17:53 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-5-16 18:14 | 显示全部楼层
录制JS宏代码并修改
function Macro4()
{
        Range("A1").Select();     //选中单元格A1
        Selection.Formula = "123";       //在选中的单元格中输入123
        Range("A2").Select();      //选中单元格A2
}
注意:JS录制宏,并不是所有动作都可以录制成代码,VBA也如此,但JS更甚!!!
选中单元格区域,按DEL键删除数据录制不到代码,我试过了,用菜单里面的单元格/清除/全部可以录制出代码。
function Macro2()
{
        Range("A7:A9").Select();
        Selection.Clear();        //关键性代码
        Range("E13").Select();
}
VBAJS表示的方法不同,代码注释也不同///*----*/。对象方法后面都要括号,因为JS的过程也是函数,一切都是函数。
function Macro2()     //修改后,选中那里,运行代码,就清除那里!
{
        Selection.Clear();        //保留关键性代码
}

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-5-19 08:32 | 显示全部楼层
后续,我们将安装这样的结构来学习JS的对象,以及对象的属性和方法

1652747227(1).png

ThisWorkbook.Name    //这个工作簿的名字(只有在加载项的时候才和ActiveWorkbook.Name有区别)
var wb=Workbooks.Add();   //新建工作薄
wb.SaveAs(文件路径+文件名);   //保存工作薄
wb.Close();   //关闭工作薄,如果里面参数是true,保存改变
Workbooks.Open(文件路径+文件名)    //打开文件,注意js中的文件路径的表达

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-5-20 08:57 | 显示全部楼层
          昨天,我们讲了一下工作薄对象,常用的方法和属性。

          接下来重点讲工作表对象,常规来讲就是对工作表对象方法和属性的学习;
          var shn=ActiveSheet.Name;    //把激活工作表的表明赋值给变量shn
          注意下面的几种表达方式,基本和VBA差不多,学习的时候多比较.
          var shn=Worksheets("Sheet1").Name;
          var shn=Worksheets.Item(1).Name;
          var shn=Worksheets(2).Name;
          var shn=Sheets(2).Name;
          单元格或单元格,列或行操作:
          function test(){
              //        Range("A1").Select()
              //        Cells(1,1).Select()
              //        Range("A1:D5").Select()
              //        Columns("B").Select()
              //        Columns("B:D").Select()
              //        Range("E:E").Select()
              //        Range("C1").EntireColumn.Select()
              //        Range("A:A,C:C").Select()       
              //        Rows("3").Select()
              //        Rows(3).Select()
              //        Range("A3").EntireRow.Select()
              //        Rows("3:7").Select()
                        Range("3:3,5:5").Select()
             }
              单元格读取     
              function test2(){
                     var s=Range("A1").Value();
                     var s1=Range("A1").Value2;
                     var s2=Range("A1").valueOf();
                     var s3=Cells(1,1).Value();
                     var s4=Cells.Item(1,1).Value2;
              }








TA的精华主题

TA的得分主题

 楼主| 发表于 2022-5-21 13:38 | 显示全部楼层
            单元格区域继续读取:

            var arr=Worksheets("原始数据").Range("A1").CurrentRegion.Value2;
            var arr=Range("A1:E999").Value();
            var arr=Range("A1").Resize(999,5).Value2;
            
            var arr=Range("A1:E"+Range("A65536").End(xlUp).Row).Value();
           注意:Value2与Value()的区别,我测试,在日期字段比较明显.




           坚持更新……请耐心等待,我白天上班,有时间还要学习,有VBA或JS的业务,也要做,赚点小钱!偷空来写帖子,同时也是为了巩固自己自学的成果。






评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2022-5-21 14:01 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
已入坑,等大佬继续挖

TA的精华主题

TA的得分主题

发表于 2022-5-21 18:08 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
ctp_119 发表于 2022-5-21 13:38
单元格区域继续读取:

            var arr=Worksheets("原始数据").Range("A1").CurrentRe ...

请教楼主,VBA或JS怎么接业务?

点评

栽有梧桐树,自有凤凰来!  发表于 2022-5-21 21:02

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-5-21 21:29 | 显示全部楼层
              大家看过之后,一定要 亲自测试,写代码没有什么窍门,只有亲自测试了,才会加深理解,成为自己的东西!!!才能以不变应万变。不测试,一看都会,一到用处就废了!!!言归正传,继续更新。

              写入工作表中的表达:
              function test(){
                   Range("A1").Value2=123;   //不可以Range("A1").Value=123,因为Value只读
                   Range("A2:C2").Value2=[1,2,3];
                   var arr=[1,2,3]     //一维数组的表示法
                   //下面是数组一次性写入工作表中
                   Range("a3").Resize(1,arr.length).Value2=arr;     //注意Value2不要忘记了
                   Range("a4").Resize(arr.length,1).Value2=WorksheetFunction.Transpose(arr);
              }

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2022-5-21 21:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
学习一下,谢谢楼主分享。。。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-21 19:17 , Processed in 0.041219 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表