我有一个带表格的 Google 文档。表格单元格是黑色和白色的。目标:使用 Google Scripts API 移除单元格背景(使所有单元格背景透明)。
有办法吗?我以各种方式尝试了 Cell.setBackgroundColor(color)(通过使用“none”、“null”、“transparent”、“”等作为输入),但这不起作用。
将所有单元格设为白色不是可接受的解决方法。
谢谢, 亚历克斯
最佳答案
嗯。刚刚尝试了以下代码。它按预期工作 - 将“D10:E20”范围的彩色背景更改为白色,单元格 A1 和 A2 包含文本
#980000
无
即范围背景是“无”而不是白色。函数是
function myFunction() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange('D10:E20');
sheet.getRange('A1').setValue(range.getBackgroundColor());
range.setBackground('none');
sheet.getRange('A2').setValue(range.getBackgroundColor());
}
编辑00:对不起,我误会你了。为了解决我的错误,我创建了一个文本文档和一个小脚本(见下文)。在文档中,我创建了一个新表,并且在没有任何进一步修改的情况下启动了脚本。结果是
- 单元格 [0, 0] 包含
Background is null
文本并且代码抛出We're sorry, a server error occurred。请稍等一下,然后重试。 (第 14 行)
cell00.setBackgroundColor(bg00);
行中的异常。 错误。
在文档编辑器中,我通过 Table->Table properties
对话框将单元格 [0, 0] 背景更改为黄色。结果是
- 单元格[0, 0] 的文本是
#ffff00
。没有错误。 正确。
我将单元格背景更改为None
。结果是
- 单元格 [0, 0] 包含
Background is empty
文本并且代码抛出Invalid color value。 (第 14 行)
cell00.setBackgroundColor(bg00);
行中的异常。 错误。
我认为标记为错误的点是一个错误。您必须向 issue tracker 提出问题.当然,您可以使用我的代码和本文来描述问题。
function testDoc() {
var doc = DocumentApp.openById('the-text-document-id');
var cell00 = doc.getTables()[0].getCell(0, 0);
var bg00 = cell00.getBackgroundColor();
if (bg00 == null) {
cell00.setText('Background is null');
}
else if (bg00 == '') {
cell00.setText('Background is empty');
}
else {
cell00.setText(bg00);
}
cell00.setBackgroundColor(bg00);
}
关于google-apps-script - 谷歌脚本 API。使单元格背景透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11940358/