打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
OfficeScript初体验!下一代办公自动化!
userphoto

2023.06.16 湖北

关注

▲ 星标,第一时间收到干货更新

最近的Office 365 更新了 Office Scirpt今天我们带大家来体验一下!
▍基本介绍
这是微软的一段介绍说明
Excel 中的 Office 脚本使你能够自动执行日常任务。 可以使用代码编辑器创建和编辑脚本。 使用单个按钮运行一系列 Excel 步骤。 然后,与同事共享该脚本,以便每个人都可以改进其工作流。 在Excel web 版中,还有一个附加工具:操作录制器。 这会将手动步骤转换为 Office 脚本,而无需查看任何代码。
 在 Excel 中使用按钮运行脚本,或者将其与 Power Automate 结合使用以简化整个工作流
简单来说,根VBA差不多,支持录制,编辑,不过现在支持在线分享和配合微软的其他生态软件一起使用!
可以保存在云端,方便调用!从目前的实战来看是存储在OneDirve!
▍界面介绍
在功能区新增了一个选项卡【自动执行】,下面分别有【录制操作】,类似录制宏功能,目前预览中,这点可以大大降低我们的学习难度,【新建脚本】,如其名,可以新建一个,自动打开自动的编辑器!
▍代码体验
Office 脚本以 TypeScript 编写,它是 JavaScript 的一个超集。 如果熟悉 JavaScript,你的知识将会延续下去,因为两种语言的大部分代码是相同的
脚本语言是 TypeScript ,懂JS的同学,应该对这个不陌生,JS的超集,简单来说就是在JS基础上加添加静态类型定义构建,JS基础学习难度非常低!
我们来感受一下!如果你是0基础,可以先录制宏看一下!
点击【自动执行】-【录制】,下面的操作就会被录制下来,直接显示每一步的操作,点击停止,查看代码或者执行!

▼脚本如下











function main(workbook: ExcelScript.Workbook) {  let selectedSheet = workbook.getActiveWorksheet();  // Set range B3:B4 on selectedSheet  selectedSheet.getRange("B3:B4").setValues([["12"],["2"]]);  // Set range B7:B8 on selectedSheet  selectedSheet.getRange("B7:B8").setValues([["3"],["23"]]);  // Set range B11 on selectedSheet  selectedSheet.getRange("B11").setValue("43");  // Set range B13 on selectedSheet  selectedSheet.getRange("B13").setValue("5");}
从脚本中,我们可以发现有些熟悉和陌生的东西,如果你学过VBA!
1、main函数是程序的入口,有一个参数workbook,类型是 ExcelScript.Workbook
2、getActiveWorksheet 获取活动工作表,好像多了一个get,跟VBA想比!你看的没错,他对对象模型进行了重新封装,大部分获取都是get*,设置都是set*
3、基本基本类似JS,这根就不多讲了;但是语言是TS,大家可以简单了解一下,JS和TS目前市面上学习资源非常的封面,因为他们是前端语言……

▍实战体验
我们自己也尝试些个代码试试,比如简单的获取全部工作表名称!
第一步:【自动执行】-【新脚本】

在右侧弹出代码编辑器,其中书写我们的代码!
▼源码:已写详细的注释

















function main(workbook: ExcelScript.Workbook) {    //公众号: Excel办公实战,作者:E精精    //----------------------------------------    //声明一个存放工作表名称的嵌套数组类型    let shtNames: string[][]  = [];    //for …… of 变量全部工作表    for (let sht of workbook.getWorksheets()) {        //判断工作表名称不等于目录,存放到数组中        if (sht.getName() != "目录"){            shtNames.push([sht.getName()]);        }            };    //写入到A1开始的单元格区域中    workbook.getWorksheet("目录").getRange("A1:A" + shtNames.length.toString()).setValues(shtNames);   console.log("执行完成");}
因为之前有点JS基础,也写过一点JSA,所以简单看看API了解后,书写难度不大,我想对熟悉JS的同学来说,学习这个因为可以很快入门!
写好后,你可以直接点击上面的【执行】来执行代码,查看效果,也可以插入按钮绑定执行!

插入后默认的文字就是脚本的名称,我们可以选择右击编辑文字来修改图标上的文字!
点击按钮执行代码,右侧有弹窗脚本运行状态!

▍总结
去年是WPS-JSA起步发展的一年,让我看到了国产软件的崛起,不过2022年几乎躺平很是可惜,我多么希望他能真的发展起来,目前真的只能“恨铁不成钢”!
再说回来,从目前微软更新的说明来看,内容还在不断的迭代中,目前看到更新已经可以使用VS Code来书写代码了,书写体验应该有较大的提升,录制功能也是最近新增了,文档也完善了不少!
VBA好久没有实质的更新,也一直在传微软将使用什么语言来代替VBA,有猜测Python,有JS的,其实VBA短期内还不会从office中摘除;
但是微软在强化推广他的 Office-Script,云端存储,可以让我们调用代码更加方便,也是一种趋势,但是对于普通办公族来说,可能目前来说上手难度有点大!录制功能的出现,让小编感觉有点VBA录制宏的味道了,简单的需求可以录制+简单编辑来实现,其他需要补充一点TS基础,基本可以用起来!
对于VBA用户而言,如果你长期有办公自动化需求,也有一定的团队分享需求,TSA(office-Script)可以着手学起来,机会永远留给有准备的人!
小编目前也只是简单体验,等小编稍微整理后,可以放到我们的学习圈中进行更新!
OK!今天的内容就到这里,紧跟时代,不断学习……

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Power Apps 指南
当WPS开始像支持VBA一样支持JS语言时,微软又该何去何从?
在excel中如何合并单元格
使用VC++操作Excel文件 - 我不会飞 - 博客大巴
VC++下的Datagrid控件实现SQL数据导出到Excel
为Office脚本添加按钮并用程序美化之
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服