Skip to content
本页内容

开始

打开AirScript编辑器

  1. 在金山文档首页新建一个表格并打开来体验AirScript。
  2. 打开表格之后,在上方效率-AirScript编辑工具弹出编辑页面。
  3. 将下方的例子,逐个运行,查看效果来快速上手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

更多

更多真实例子可通过示范案例尝试。