うーん。次のコードを試してみました。期待どおりに機能します-「D10:E20」の範囲の色付きの背景を白に変更し、セルA1とA2にテキストが含まれます
つまり、範囲の背景は「なし」であり、白ではありません。機能は
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);
}