Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 谷歌脚本API。使单元格背景透明_Google Apps Script - Fatal编程技术网

Google apps script 谷歌脚本API。使单元格背景透明

Google apps script 谷歌脚本API。使单元格背景透明,google-apps-script,Google Apps Script,我有一个带表格的谷歌文档。例如,表格单元格是黑白的。目标:使用谷歌脚本API删除单元格背景(使所有单元格背景透明) 有没有办法做到这一点?我尝试了Cell.setBackgroundColor(color)的各种方法(使用“none”、“null”、“transparent”和“”等作为输入),但都不起作用 使所有单元格变白不是一个可接受的解决方法 谢谢, AlexHm.刚刚尝试了以下代码。它按预期工作-将“D10:E20”范围的彩色背景更改为白色,单元格A1和A2包含文本 #980000 n

我有一个带表格的谷歌文档。例如,表格单元格是黑白的。目标:使用谷歌脚本API删除单元格背景(使所有单元格背景透明)

有没有办法做到这一点?我尝试了Cell.setBackgroundColor(color)的各种方法(使用“none”、“null”、“transparent”和“”等作为输入),但都不起作用

使所有单元格变白不是一个可接受的解决方法

谢谢,
Alex

Hm.刚刚尝试了以下代码。它按预期工作-将“D10:E20”范围的彩色背景更改为白色,单元格A1和A2包含文本

  • #980000
  • none
i、 e.范围背景为“无”且非白色。功能是

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]包含
    背景为空
    文本,代码抛出
    很抱歉,发生了服务器错误。请稍等,然后重试。(第14行)
    单元格00.setBackgroundColor(bg00)中的异常错误
在文档编辑器中,我通过
Table->Table properties
对话框将单元格[0,0]背景更改为黄色。结果是

  • 单元格[0,0]文本为
    #ffff00
    。没有错误正确
我将单元格背景更改为
None
。结果是

  • 单元格[0,0]包含的
    背景为空
    文本,代码抛出的
    颜色值无效。(第14行)
    单元格00.setBackgroundColor(bg00)中的异常错误
我的意见是标记为错误的点是一个bug。你必须把一个问题提交给政府。当然,您可以使用我的代码和本文来描述问题

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);
}

你希望在透明的背景下看到什么?也许你的问题有解决办法。我不希望看到什么特别的。我有一张白纸和一张有黑色单元格的桌子。我想删除单元格背景色,以便在白色页面上看到白色表格。从技术上讲,白色透明和白色透明看起来是一样的。但白色背景与“无”背景不同。文本背景也是一样。这真的很有趣。1.如果我在电子表格中执行您的代码,它将不会出错。但结果仍然是白色的(两个细胞)。更重要的是,如果我手动将单元格背景更改为无,那么应用程序会自动将背景颜色更改为白色。2.我有一个带表格的文档(文本文档)。如果在以下代码中使用“无”颜色代码,则会引发错误(无效颜色代码):
DocumentApp.getActiveDocument().getActiveSection().getTables()[0].getCell(0,0).setBackgroundColor(“无”)我为文档中第一个表的第一个单元格设置bg颜色