Skip to content
开发文档
能力中心
应用市场
WebOffice
开发者后台

设置单元格内容

RecordRange.Value

说明

可读写

RecordRange的值,读取和设置记录数据

返回值

DbCellValue

这里返回的文本根据区域会有三种情况,RecordRange 选择器参看RecordRange的说明

1、指定的区域为一条记录一个字段,返回单个值(值的类型看具体字段)

Application.ActiveSheet.RecordRange(1,1).Value

2、指定的区域为一条记录的多个字段,返回值为二维数组

Application.ActiveSheet.RecordRange(1,[1,2]).Value

3、指定的区域为多条记录的多个字段,返回值为二维数组

Application.ActiveSheet.RecordRange([1,2],[1,2]).Value

设置值的时候,也有三种设置值的方式

1、设置为单个值,将这个值设置到整个区域的指定单元格

Application.ActiveSheet.RecordRange([1,2],[1,2]).Value = "1"

2、传入一维数组,目标是一条记录,则将数组设置到目标区域,如果目标是多条记录,则会将相同的数据设置到所有记录。

Application.ActiveView.RecordRange([1,2],[1,2]).Value = ["1","2"]

3、传入二维数组,如果二维数组的长度为1,目标是一条记录,则将二维数组[0]设置到目标区域,如果目标是多条记录,则会将相同的数据设置到所有记录。如果二维数组为 M x N,则按顺序传入到目标区域。

Application.ActiveView.RecordRange([1,2],[1,2]).Value = [["1","2"],["3","4"]]

// 数组长度为1时等价于 [["1","2"],["1","2"]]
Application.ActiveView.RecordRange([1,2],[1,2]).Value = [["1","2"]]

不同字段类型设置Value时的数据结构

地址字段类型: 通过DBCellValue() 生成字段的数据

Application.Sheets(1).Views(2).RecordRange(1, "@地址").Value = DBCellValue({districts:["广东省","珠海市","香洲区"],detail:"前岛环路xxxx号"})

级联字段类型:通过DBCellValue() 生成字段的数据

Application.Sheets(1).Views(2).RecordRange(1, "@级联选项").Value = DBCellValue({districts:["广东省","珠海市","香洲区"]})

超链接字段类型:

Application.RecordRange(1, "@超链接").Value = Application.DBCellValue({address:"wps.cn", display:"wps"})

关联字段类型: 参数传入关联的记录id

const DBCellValue = Application.DBCellValue
Application.Sheets(1).Views(2).RecordRange(1, "@关联:数据表").Value = DBCellValue(["b","V"])

多选项类型:

Application.Sheets(1).Views(2).RecordRange([5,6], 4).Value =[[DBCellValue(["未开始","进行中"])], DBCellValue(["进行中"])]

联系人字段类型:直接传入联系人的id,如果有多个联系人,可用","进行分割

Application.Sheets(1).Views(2).RecordRange([5,6], "@联系人").Value = "238777563"

图片与附件字段:可以传入包含 URL/base64编码的图片/云文档 的数组,支持多个附件。 注意:由于脚本有运行时长限制,附件较大/或者较多时会导致超时,设置失败

Application.Sheets(1).Views(2).RecordRange(1, "@图片和附件").Value = DBCellValue([{fileData: url/base64, fileName: ""}])

如果要在原来的附件上,新增其它附件可以先读出来的数组增加后再重新设置

const range = Application.Sheets(1).Views(2).RecordRange(1, "@图片和附件")
const dbCellValue = range.Value
const attments = dbCellValue.Value
attments.push({fileData: url/base64, fileName: ""})
range.Value = oldValue

其它字段类型可以直接使用字符串,日期和时间类型必须符合日期的格式的字符串

部分不支持设置值的字段类型

DbSheetFieldType.Formula, // 公式字段
DbSheetFieldType.Lookup, // 引用字段
DbSheetFieldType.CreatedBy, // 创建者字段
DbSheetFieldType.Note, // 富文本字段
DbSheetFieldType.SearchLookup, // 查找引用字段
DbSheetFieldType.Button,  // 按钮字段 
DbSheetFieldType.LastModifiedBy, // 最近修改者字段
DbSheetFieldType.CreatedTime, // 创建时间字段
DbSheetFieldType.LastModifiedTime, //最后修改时间字段
DbSheetFieldType.AutoNumber, // 自动编号 
DbSheetFieldType.Automations, // 自动任务

浏览器环境示例

javascript
async function example() {
  await instance.ready();
   const app = instance.Application;
   app.Sheets(1).Views(2).RecordRange([5,6], 1).Value = "1111111"
}

脚本编辑器 示例

javascript
function main() {
   Application.Sheets(1).Views(2).RecordRange([5,6], 1).Value = "1111111"
}
main()
回到旧版