主题
开始
打开AirScript编辑器
- 在金山文档首页新建一个表格并打开来体验AirScript。
- 打开表格之后,在上方效率-AirScript编辑工具弹出编辑页面。
- 将下方的例子,逐个运行,查看效果来快速上手AirScript。
HelloWorld
console.log()
js
console.log("hello world!")
console.error()
js
console.error("hello world!")
文档操作
遍历文件的SheetName,切换对应的Sheet,读取单元格,修改单元格
js
//遍历并打印所有工作表的名称
Application.Sheets.Each((item) => {
console.log(item.Name) // Sheet1,Sheet2
})
console.log(Application.ActiveSheet.Name) // 打印当前激活Sheet名
//取激活工作表的A1单元格Range,当前即Sheet2工作表的A1单元格
const A1 = Application.Range("A1")
// 打印A1内容
console.log(A1.Text) // foo
//修改A1内容
Application.Range("A1").Value = "bar"
console.log(Application.Range("A1").Text) // bar
//修改A1单元格的背景颜色为黄色(#FFFF00)
A1.Interior.Color = "#FFFF00" // 高亮A1
将文档所有非空单元格增加指定后缀
js
// 通过Application.ActiveSheet.UsedRange获得用户使用区域
const usedRange = Application.ActiveSheet.UsedRange
for (let i = usedRange.Row; i <= usedRange.RowEnd; i++) {
const row = Application.ActiveSheet.Rows(i) // 确定行
for (let j = usedRange.Column; j <= usedRange.ColumnEnd; j++) {
const rg = row.Columns(j) // 从行对象中指定列,从而确定单元格
const text = rg.Text
// 如果单元格非空,则添加foo后缀
if (text !== '') {
rg.Value = text + 'foo'
}
}
}
// 只读取文档数据的情况可用Each,如果在Each中操作数据,可能导致range对象变化,从而产生不可预料的结果
usedRange.Each(function(item){
console.log(item.Text) // 对userRange的每个单元格都执行该函数,即打印所有单元格数据
})
新建Sheet
js
// 当前工作表名称
const currentSheetName = Application.ActiveSheet.Name
// 在当前Sheet之后新增两个默认名称的工作表
Application.Sheets.Add("", currentSheetName, 2)
// 在当前Sheet之后新增名称为'新工作表(右)'的Sheet
Application.Sheets.Add("", currentSheetName, 1, Application.Enum.XlSheetType.xlWorksheet, '新工作表(右)')
// 在当前Sheet之前新增名称为'新工作表(左)'的Sheet
Application.Sheets.Add(currentSheetName, "", 1, Application.Enum.XlSheetType.xlWorksheet, '新工作表(左)')
内置函数
Time.sleep(time)
休眠 time 毫秒
js
console.log(new Date().getSeconds()) //6
//休眠,单位毫秒,1000即1s
Time.sleep(1000)
console.log(new Date().getSeconds()) //7
更多
更多真实例子可通过示范案例尝试。