# tsWpsAirScriptCaller **Repository Path**: cxwithyxy/tsWpsAirScriptCaller ## Basic Information - **Project Name**: tsWpsAirScriptCaller - **Description**: 调用wps的airscript https://airsheet.wps.cn/docs/apitoken/api.html - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-12-25 - **Last Updated**: 2025-10-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # tsWpsAirScriptCaller #### 介绍 调用wps的airscript https://airsheet.wps.cn/docs/apitoken/api.html ## AirScript 1.0 脚本 ``` let sheetName = Context.argv.sheetName let rangeName = Context.argv.rangeName let runType = Context.argv.runType || "read" let writeDataList = Context.argv.writeDataList || [] let sheets = Application.Sheets let returnList = [] function eachDo(callback) { for (let i = 1; i <= sheets.Count; i++) { if(sheetName == sheets.Item(i).Name) { let range = sheets.Item(i).Range(rangeName) for(let j = 1; j <= range.Count; j++) { callback(range.Cells(j),j) } } } } if(runType == "read") { eachDo((v) => { returnList.push(v.Text) }) } if(runType == "write") { eachDo((v,index) => { let wd = writeDataList[index-1] if(typeof wd != "undefined") { v.Value = wd } }) } if(runType == "cleanAll") { for (let i = 1; i <= sheets.Count; i++) { if(sheetName == sheets.Item(i).Name) { let range = sheets.Item(i).Range(rangeName) console.log(`cleanAll ${sheetName} ${rangeName}`) range.ClearContents() } } } return returnList ``` ## AirScript 2.0 脚本 ``` let sheetName = Context.argv.sheetName let rangeName = Context.argv.rangeName let runType = Context.argv.runType || "read" let writeDataList = Context.argv.writeDataList || [] let sheets = Application.Sheets let returnList = [] function eachDo(callback) { for (let i = 1; i <= sheets.Count; i++) { if(sheetName == sheets.Item(i).Name) { let range = sheets.Item(i).Range(rangeName) for(let j = 1; j <= range.Count; j++) { callback(range.Cells(j),j) } } } } if(runType == "read") { eachDo((v) => { returnList.push(v.Text) }) } if(runType == "write") { eachDo((v,index) => { let wd = writeDataList[index-1] if(typeof wd != "undefined") { v.Value(null, wd) } }) } if(runType == "cleanAll") { for (let i = 1; i <= sheets.Count; i++) { if(sheetName == sheets.Item(i).Name) { let range = sheets.Item(i).Range(rangeName) console.log(`cleanAll ${sheetName} ${rangeName}`) range.ClearContents() } } } return returnList ```