Script Lab 03:Script Lab,启动函数,Excel 基础操作(1)

简介: Script Lab 03:Script Lab,启动函数,Excel 基础操作(1)

准备工作

Script Lab 在 2018 年经历了一次从头到尾的重新编写。虽然其视觉设计与 2017 版保持相似,但其技术堆栈已经过大修,为了能够利用 React 和 Fabric React 的优秀性质。改进包括了:键盘可访问性、更快的运行速度、用户可配置的设置

但是为了保持代码的简洁性,思来想去还是牺牲以上优点,从当前默认环境(Production)暂时切换到 2017 版本的 Script Lab ,为此需要执行以下操作:

  1. 打开编辑器窗格,然后选择或创建一个代码段;
  2. 在编辑器的右下角,单击cog图标以打开设置;
  3. 在页脚左侧下拉列表中,选择“Script Lab 2017”。

image.png

最小代码

【对像层级】

上下文:context

工作簿:workbook

工作表:sheet

单元格:cell

单元赋值

单元值: [["HSOffice"]]

Excel.run ( async (context) => {

// const workbook = context.workbook; const sheet = workbook.worksheets.getActiveWorksheet(); const cell = sheet.getCell(0, 0);

// cell.values = [ ["HSOffice"] ] } );


小技巧

代码美化:Shift-Alt-F

image.png

Excel.run

我们先从代码第一行代码看起:Excel.run。在这里 Excel 是命名空间,而 run 而是一个启动函数(我暂时先这样称呼,直到找到官方的说法),接受一个函数作为其参数,前返回一个对像(后面会提到用途)。而这个内部函数,其实是一个批处理函数,代表了真正的 Excel 操作。

批处理函数有一个代表宿主请求的上下文参数,该参数是与宿主(在这里是 Excel 本身)进行通信的途径。Excel.run 方法只是传向批处理函数传递了一个新的上下文请求,批处理函数才是整个代码的核心部分,在这里我们看到了最常见的处理方式:

const workbook = context.workbook;


其实更典型的写法,要会加上错误捕获的部分。补充一点,Excel.run 其实还会返回一个 Promise 对象(Promise在处理异步操作非常有用)。反正更为正统的写法是,在启动函数之后应该始终跟随.catch(错误捕获),示例如下:

//启动函数Excel.run (

//批处理函数 function (context) { //批处理内容

//返回代理 return context.sync(); } ).catch ( //异常处理 );


image.png

后记

作为入门,今天先开始了解一些有关 Excel.run 的初步知识。从本质上来讲,OfficeJS 与 VBA / VSTO 在对像表达上并无本质差异(对象名称有丁点差别),主要的区别还在异步思想的代码实践上面。作为一个合格的程序员,我想信你己经入门了,基本上配合着 API (这点 Script Lab 比 VBA 太有优势了,能够方便的查阅甚至直接执行),就等你玩出花样了(或你当成本期的作业也行,欢迎投稿,如果有好玩的,明天的继篇为你留着)。连续学习了三天,今天终于熬到周末,容小树我休息一下吧,目前水平实在有限,只能做到先帮大家入个门,运气好的话,亦或未来精彩可期~~~

目录索引

  • Script Lab 01:快速 Office 365 开发工具
  • Script Lab 02:Script Lab,知识储备
  • Script Lab 03:Script Lab,启动函数,Excel 基础操作(1)
  • Script Lab 04:Script Lab,九九乘法表,Excel 基础操作(2)
  • Script Lab 05:Office JavaScript API助手,Excel 基础操作(3)
  • Script Lab 06:事件处理,Excel 基础操作(4)
  • Script Lab 07:单词“卡拉OK”,Word 基础操作
  • Script Lab 08:异步调用函数,PowerPoint 基础操作
  • Script Lab 09:为 Officejs 开发配置 VSCode 环境
  • Script Lab 10:OIfficeJS 的三种调试方式
相关文章
|
1月前
excel 百分位函数 学习
excel 百分位函数 学习
24 1
|
5月前
|
数据库 C语言 索引
必知的技术知识:excel函数
必知的技术知识:excel函数
38 0
|
5月前
|
数据安全/隐私保护
杨老师课堂之Excel VBA 程序开发第八讲使用工作表函数
杨老师课堂之Excel VBA 程序开发第八讲使用工作表函数
43 1
|
5月前
|
数据格式 Windows
必知的技术知识:Excel公式SWITCH函数你用过吗?多种查找函数介绍
必知的技术知识:Excel公式SWITCH函数你用过吗?多种查找函数介绍
87 0
|
6月前
Excel实例:数组公式和函数
Excel实例:数组公式和函数
|
6月前
|
数据可视化
用excel来构建柯布-道格拉斯Cobb-Douglas生产函数的可视化
用excel来构建柯布-道格拉斯Cobb-Douglas生产函数的可视化
|
6月前
|
数据采集 数据挖掘 关系型数据库
Excel计算函数(计算机二级)(1),2024年最新2024Python架构面试指南
Excel计算函数(计算机二级)(1),2024年最新2024Python架构面试指南
|
6月前
|
Python
补充python操作excel示例xlwings常用函数
补充python操作excel示例xlwings常用函数
153 0
Java实现Excel中的NORMSDIST函数和NORMSINV函数
Java实现Excel中的NORMSDIST函数和NORMSINV函数
159 0