前提
以下のようなメソッド実行例です。
便宜上、以降では以下のコメントに基づいて 1つめ、2つ目... という形で引数を呼ぶことにします
service.update_spreadsheet_value( sheet_id, # 1つめ range, # 2つめ value_range_object, # 3つめ value_input_option: 'USER_ENTERED' # 4つめ )
結論
1. 1つめの引数
シートの ID です。
2. 2つめの引数
書き込みの範囲です。'今月の予算シート!B10:F20'
のような値が入ります。
より脳に負荷をかけない方法としては、'今月の予算シート!A1:Z10000'
というように常にめいいっぱいの範囲を指定し*1、渡す値 (values) の側で空の値なり空の行や列なりを明示的に指定する、という方法があります*2。
可変の変数はなるべく減らし、実質固定値としたいです。
3. 3つめの引数
以下のようなオブジェクトが入ります。Google::Apis::SheetsV4::ValueRange
のインスタンスであることに注意です。
Google::Apis::SheetsV4::ValueRange.new(values: values)
ここで values
こそが書き込む値(の配列)です。values
は二次元配列の構造で、「『行に入る値の配列』の配列」が入ります。
CSV で考えるとわかりやすいです。例えば以下のようなCSVの値を入力したいとします。
あ,い,う 1,2,3,4,5,6,7 A,B
これを values
で表現すると以下のようになります。
values = [ ['あ', 'い', 'う'], ['1', '2', '3', '4', '5', '6', '7'], ['A', 'B'], ]
4. 4つめの引数
キーワード引数となっており、value_input_option:
に対して RAWS
か USER_ENTERED
かを選べます。
前者はたとえば 'true' という値を渡して入力すると true
としてシートに入力されます。
後者は同様に入力すると TRUE
としてシートに入力されます。こちらの方が人間が入力する場合と同様なのでこちらが良いと思います*3。
補足
- これ以外にもオプションはあります
- Ruby の例ですが、多言語でも実質的には同じだと思います