web-dev-qa-db-ja.com

Googleシートスクリプトはセル値を設定します

スクリプトからGoogleスプレッドシートにテキストまたは番号を設定したい。

セル9Helloまたは番号F2を設定したい。私はこれまでにこのコードを見つけました:

SpreadsheetApp.getActiveRange().setValue('hello');

しかし、それはどのセルを指定するものではありません。

96
user635600

次のコードは必要なことを行います

function doTest() {
  SpreadsheetApp.getActiveSheet().getRange('F2').setValue('Hello');
}
162
megabyte1024

setValueRange classのメソッドを使用して、特定のセルの値を設定します。

function storeValue() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  // ss is now the spreadsheet the script is associated with
  var sheet = ss.getSheets()[0]; // sheets are counted starting from 0
  // sheet is the first worksheet in the spreadsheet
  var cell = sheet.getRange("B2"); 
  cell.setValue(100);
}

行番号と列番号を使用してセルを選択することもできます。

var cell = sheet.getRange(2, 3); // here cell is C2

複数のセルの値を一度に設定することもできます。

var values = [
  ["2.000", "1,000,000", "$2.99"]
];

var range = sheet.getRange("B2:D2");
range.setValues(values);
30
sudo bangbang

解決策:SpreadsheetApp.getActiveSheet().getRange('F2').setValue('hello')

説明:

スクリプトが添付されているスプレッドシートのセルの値の設定

SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME).getRange(RANGE).setValue(VALUE);

現在開いており、スクリプトが添付されているシートのセルの値を設定する

SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(RANGE).setValue(VALUE);

スクリプトが添付されていないスプレッドシートのセルに値を設定する(宛先シート名がわかっている)

SpreadsheetApp.openById(SHEET_ID).getSheetByName(SHEET_NAME).getRange(RANGE).setValue(VALUE);

スクリプトが添付されていないスプレッドシートのセルに値を設定する(宛先シートの位置がわかっている)

SpreadsheetApp.openById(SHEET_ID).getSheets()[POSITION].getRange(RANGE).setValue(VALUE);

これらは定数なので、自分で定義する必要があります

SHEET_ID

SHEET_NAME

POSITION

VALUE

RANGE

シートに添付されたスクリプトとは、スクリプトがそのシートのスクリプトエディターにあることを意味します。添付されていないということは、そのシートのスクリプトエディターに存在しないことを意味します。他の場所に置くことができます。

11
Umair Mohammad