google-apps-script - 无法将开发者元数据添加到行
问题描述
我需要以编程方式将信息与 Google 表格中的一行相关联,并且用户交互最少。关联必须与同一行保持关联,即使在上面添加或删除了一行。此外,如果该行是,则应删除该信息。
对我来说,这听起来像是 DeveloperMetadata 的工作。
我现在想在没有 API 的情况下执行此操作 - 以避免添加更多变量。在使用 API 之前,我会使用命名范围。
无论如何,Spreadsheet、Sheet 和 Range 类都具有方法:addDeveloperMetadata,具有各种输入 - 没有一个具有 DeveloperMetadataLocationType 输入(问题 #1)。
有趣的是,正如这里的答案所建议的那样,以下代码确实将开发人员元数据添加到列中:
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange("H:H").addDeveloperMetadata("columnName", "price");
但是,我一生都无法弄清楚如何创建“ROW”范围来添加元数据。我尝试了以下方法:
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1, 1, 1, sheet.getMaxColumns()).addDeveloperMetadata("rowStatus", "processing");
和
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange("A2:L2").addDeveloperMetadata("rowStatus", "processing");
其中 L 是最后一列。
在这两种情况下,我都会收到以下错误:
目前不支持将开发人员元数据添加到任意范围。开发人员元数据只能添加到顶级电子表格、单个工作表或整行或整列。
有什么方法可以表明一个范围是一个 ROW,所以我可以向它添加元数据?
解决方案
一旦我发布问题,我就会找出答案。
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange("2:2").addDeveloperMetadata("rowStatus", "processing");
通过假装创建条件格式规则找到答案,并在指示范围时选择行号以查看 Google Sheets A1 表示法如何表示行。
推荐阅读
- java - netbeans中的javafx测试运行失败
- java - 容器级别的 Azure 存储指标
- java - Flink 读取 S3 文件导致 Jackson 依赖问题
- r - 在一个方向上创建误差线,一种特殊情况
- reactjs - this.props 反应训练问题 - CodeAcademy
- java - Java String 对象相等和引用
- javascript - 我们可以从 javascript 文件发送 ajax 吗?
- spring-boot - spring-ws - Oracle Weblogic 12c
- java - 如何使用 JAXB 设置抽象类的集合以在 Jackson 中进行反序列化?
- listview - 扑。如何将行的第一个孩子扩展到列表视图高度作为第二个孩子?