设置单元格内容
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()