Office Script初体验!下一代办公自动化!

作者:E精精 发布时间: 2022-12-24 19:54 阅读(796)  
最近的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 fill color to #808080 for range A2:C2 on selectedSheet
    selectedSheet.getRange("A2:C2").getFormat().getFill().setColor("#808080");
    // Set font bold to true for range A3:C3 on selectedSheet
    selectedSheet.getRange("A3:C3").getFormat().getFont().setBold(true);
}

 

从脚本中,我们可以发现有些熟悉和陌生的东西,如果你学过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!今天的内容就到这里,紧跟时代,不断学习……

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注