我需要以编程方式将信息与 Google 表格中的行关联起来,并且需要最少的用户交互。即使在上面添加或删除了行,关联也必须与同一行保持关联。另外,如果该行是,则应删除该信息。
对我来说,这听起来像是 DeveloperMetadata 的工作。
我现在想在不使用 API 的情况下执行此操作 - 以避免添加更多变量。在使用 API 之前,我会使用命名范围。
无论如何,Spreadsheet、Sheet 和 Range 类都具有方法:addDeveloperMetadata,具有各种输入 - 其中没有一个具有 DeveloperMetadataLocationType 输入(问题 #1)。
有趣的是,正如答案 here 所建议的那样,以下代码确实将开发人员元数据添加到列中:
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 是最后一列。
在这两种情况下,我都会收到以下错误:
Adding developer metadata to arbitrary ranges is not currently supported. Developer metadata may only be added to the top-level spreadsheet, an individual sheet, or an entire row or column.
有什么方法可以表明一个范围是一个 ROW,以便我可以向其中添加元数据?
最佳答案
一旦我发布问题,我就会找到答案。
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange("2:2").addDeveloperMetadata("rowStatus", "processing");
通过假装创建条件格式规则找到答案,并在指示范围时选择行号以查看 Google Sheets A1 表示法如何表示行。
关于google-apps-script - 无法将DeveloperMetadata 添加到行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54099100/