Skip to content

云文档 API ​

AirScript 提供全局的 KSDrive 对象,通过此对象即可轻松查看、修改和创建您的云文档

提示

在使用 KSDrive 对象操作云文档时,确保您已添加云文档API服务,在脚本编辑器的服务菜单内添加即可。

快速使用 ​

js
// 打开指定文档
let file = KSDrive.openFile('https://www.kdocs.cn/l/xxxxxxxxxxxx')
// 打印指定文档的A1单元格内容
console.log(file.Application.Range('A1').Text)
// 使用结束之后调用close关闭文档,否则无法再次调用KSDrive.openFile
file.close()
// 获取我的云文档下面的et,ksheet文档列表
const fileList = KSDrive.listFiles({ includeExts: ['et', 'ksheet'] })
// 打开我的云文档目录下的第一个文档
file = KSDrive.openFile(fileList.files[0])
console.log(file.Application.Range('A1').Text)
// 关闭文档
file.close()

属性列表 ​

属性名数据类型说明
FileTypeobject支持的文件类型集合

方法列表 ​

方法名返回类型说明
createFile()string创建或另存一个文件
openFile()File额外打开一个文件
listFiles()FilesInfo列出某个目录下的表格文件

FileType ​

云文档支持的文件类型,可用于新建文件时指定新文件的类型

属性说明 ​

属性名数据类型说明
APstring智能文档
KSheetstring智能表格
ETstring表格
DBstring多维表

createFile() ​

创建一个新文件,也可以将一个源文件另存为新文件

参数 ​

名称类型必填说明
typeFileType是新文件的类型
createOptionsCreateOptions是新文件的参数选项

CreateOptions 对象说明 ​

名称类型必填说明
namestring是新文件的文件名
dirUrlstring否新文件的文件目录
sourcestring否将目标文件另存为新文件

返回值 ​

url - string 新文件的 URL

示例 ​

js
// 创建ET文件,指定保存位置
let url = KSDrive.createFile(KSDrive.FileType.ET, {
  name: 'et测试',
  dirUrl: '指定保存位置'
})
console.log(url)
// 新建DB文件
url = KSDrive.createFile(KSDrive.FileType.DB)
console.log(url)
// 新建KSheet文件
url = KSDrive.createFile(KSDrive.FileType.KSheet)
console.log(url)
// 新建AP文件
url = KSDrive.createFile(KSDrive.FileType.AP)
console.log(url)
// 文件另存
url = KSDrive.createFile(KSDrive.FileType.KSheet, {
  source: 'https://www.kdocs.cn/l/cqQwuiG2mo7E',
  name: '复制表格'
})
console.log(url)

openFile() ​

额外打开一个文件,并返回一个 JavaScript 对象File。

示例 ​

js
let file = KSDrive.openFile('https://www.kdocs.cn/l/xxxxxxxxxxxx')
console.log(file.Application.ActiveSheet.Range('A1').Text)
file.close()

参数 ​

名称类型必填说明
openInfoURL / FileInfo是打开文件的信息,可以为文件分享链接或者FileInfo

返回值 ​

File - 一个 JavaScript 对象

listFiles() ​

列出某个目录下的所有文件和对应信息

示例 ​

js
// 遍历获取某个文件夹下的所有文件的文件名
for (let offset = 0; offset >= 0; ) {
  const list = KSDrive.listFiles({
    dirUrl: 'https://www.kdocs.cn/mine/xxxxxxxxxx',
    offset: offset,
    count: 100
  })
  for (let i = 0; i < list.files.length; i++) {
    console.log(list.files[i].fileName)
  }
  offset = list.nextOffset
}

参数 ​

名称
类型
默认值必填说明
optionsobjectundefined否一个 JavaScript 对象,undefined 时获取我的云文档目录下面的文件数据,详细参数如下所示

详细参数 ​

参数名
参数类型
默认值
必填
说明
dirUrlstringfalse目录链接,如https://www.kdocs.cn/mine/xxxxxx,为空时获取我的云文档目录下面的文件数据
offsetnumber0false开始位置。通常由listFiles()函数返回。比如,listFiles()函数在某次检索中返回了 nextOffset 为 100,而想要获取更多文件信息,则下一次调用listFiles()函数时把 100 作为此可选参数传入。
countnumber30false文件个数
includeExtsstring[]false指定文件类型,支持参数及对应关系,ksheet:"表格",et:"WPS 表格",db:"多维表",otl:"文档",wpp:"演示",wps:"WPS 文字"

返回值 ​

FilesInfo - 一个 JavaScript 对象,文件信息

File ​

打开文件函数openFile()返回的一个 JavaScript 对象。

属性 ​

名称类型说明
ApplicationApplication(ET/Ksheet/DBT)被打开文件的操作对象,目前支持 et,ksheet,dbt
closeFunction关闭文件的函数,使用完 file 对象之后调用,关闭打开的文件

FilesInfo ​

获取文件夹信息函数listFiles(options)返回的一个 JavaScript 对象。

属性 ​

名称类型说明
files文件信息,详细参数如下所示
nextOffsetnumber下一页的偏移量,可以作为listFiles(options)的参数而输出下一页文件内容,当下一页为空时,nextOffset 为-1

FileInfo ​

名称类型说明
fileNamestring文件名
fileIdstring加密后的文件 id
createTimenumber文件创建时间戳
updateTimenumber文件修改时间戳