スクリプトからGoogleスプレッドシートにテキストまたは番号を設定したい。
セル9
にHello
または番号F2
を設定したい。私はこれまでにこのコードを見つけました:
SpreadsheetApp.getActiveRange().setValue('hello');
しかし、それはどのセルを指定するものではありません。
次のコードは必要なことを行います
function doTest() {
SpreadsheetApp.getActiveSheet().getRange('F2').setValue('Hello');
}
setValue
Range
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);
解決策: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
シートに添付されたスクリプトとは、スクリプトがそのシートのスクリプトエディターにあることを意味します。添付されていないということは、そのシートのスクリプトエディターに存在しないことを意味します。他の場所に置くことができます。