google-apps-script - 无法将DeveloperMetadata 添加到行

标签 google-apps-script google-sheets metadata

我需要以编程方式将信息与 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/

相关文章:

html - 如何在 Google App Script 的 HTML 服务中插入完全适合的背景图片?

google-apps-script - 如何在 toast() 中显示换行符/CR?

linux - Spotify dbus 请求返回空元数据

google-apps-script - 触发器不适用于Google Analytics(分析)的GS代码

javascript - 如何在谷歌应用程序脚本中编写 if/and 语句

google-apps-script - 如何使用 Utilities.sleep() 函数

javascript - 用脚本替换 Google 电子表格中的多个字符串

google-apps-script - 以编程方式测试 Google Sheet 单元格是否在命名范围内

svg - SVG 中的元数据

ios - MPMoviePlayer 播放视频流时如何访问原始视频数据