3

表のある Google ドキュメントがあります。表のセルは、たとえば白黒です。目標: Google Scripts API を使用して、セルの背景を削除します (すべてのセルの背景を透明にします)。

そうする方法はありますか?Cell.setBackgroundColor(color) をさまざまな方法で試しました (「none」、「null」、「transparent」、「」などを入力として使用) が、これは機能しません。

すべてのセルを白にすることは、許容できる回避策ではありません。

ありがとう、アレックス

4

1 に答える 1

3

うーん。次のコードを試してみました。期待どおりに機能します-「D10:E20」の範囲の色付きの背景を白に変更し、セルA1とA2にテキストが含まれます

  • #980000
  • none

つまり、範囲の背景は「なし」であり、白ではありません。機能は

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:ごめんなさい、私はあなたを誤解しました。私の欠点を修正して、テキストドキュメントと小さなスクリプトを作成しました(以下を参照)。このドキュメントでは、新しいテーブルを作成し、それ以上の変更を加えることなく、スクリプトを開始しました。結果は

  • cell [0、0]にはテキストが含まれており、コードはその行に例外をBackground is nullスローします。間違っています。We're sorry, a server error occurred. Please wait a bit and try again. (line 14)cell00.setBackgroundColor(bg00);

ドキュメントエディタで、ダイアログによってセル[0、0]の背景をTable->Table properties黄色に変更しました。結果は

  • cell [0、0]のテキストは。です#ffff00。エラーはありません。正解です。

セルの背景をに変更しましたNone。結果は

  • cell [0、0]にはテキストが含まれており、コードはその行に例外をBackground is emptyスローします。間違っています。Invalid color value. (line 14)cell00.setBackgroundColor(bg00);

私の意見では、間違っているとマークされたポイントはバグです。課題トラッカーに課題を提出する必要があります。確かに、私のコードとこのテキストを使用して問題を説明することができます。

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);
}
于 2012-08-14T05:53:56.120 に答える