【GoogleAppsScript】GoogleスプレッドシートをGASでいじってみた
はじめに
こんにちは、がんがんです。
先日、こちらの記事でLINE Botを試しに作成しました。
gangannikki.hatenadiary.jp
最終目的
- LINE Botを作成し、イベント主催者のほしい情報を渡す
参考記事
セルの操作などについて
スプレッドシートのセルを操作
まずは基本的な作業としてセルの操作を行っていきます。
セル単体か複数セルかで少し変わるものの、基本的にはgetとsetみたいです。
セルの値を指定する
function myFunction() { var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // アクティブ状態のシートを取得 var sheet = spreadsheet.getActiveSheet(); // アクティブ状態のシートを取得 var cell = sheet.getRange('A1'); // セルの指定 cell.setValue('Hello world!'); // 値の設定 }
実行結果
セルの値を取得する
function myFunction2() { var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // アクティブ状態のシートを取得 var sheet = spreadsheet.getActiveSheet(); // アクティブ状態のシートを取得 var cell = sheet.getRange('A1'); // セルの指定 var value = cell.getValue(); // 値の取得 Logger.log(value); // ログを出力 }
実行結果
実行結果はログへの出力結果です。
複数セルの値を指定する
次に複数セルを処理していきます。コードは以下になります。
function myFunction3() { var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // アクティブ状態のシートを取得 var sheet = spreadsheet.getActiveSheet(); // アクティブ状態のシートを取得 var range = sheet.getRange('B1:B5'); // セルの範囲指定 var values = [ ["おはよう"], ["こんにちは"], ["こんばんは"], ["おやすみ"], ["どうも"] ]; range.setValues(values); // 値の設定 }
実行結果
複数セルの値を指定する
コードは以下になります。
function myFunction4() { var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // アクティブ状態のシートを取得 var sheet = spreadsheet.getActiveSheet(); // アクティブ状態のシートを取得 var range = sheet.getRange('B1:B5'); // セルの範囲指定 var values = range.getValues(); // 値の取得 Logger.log(values); // ログへ出力 }
実行結果
こちらも実行結果はログの結果です。リストとして出力されています。
気になったので数値でもやってみました。
こちらの1から5までの数値を取得させてみます。
すると、float型としてログに出力されました。
スプレッドシートでいろいろ試してみる
次はメニューを作成したり、ダイアログボックスを作ってみます。
ダイアログボックスを表示させてみる
コードは以下になります。スクリプトを実行するとダイアログが出力されます。
function test2() { Browser.msgBox("〇〇牧場?"); }
実行結果
メニューを追加してみる
コードは以下になります。onOpen()
はスクリプトを実行すると実行される関数です。
スプレッドシートを更新したり、はじめてスクリプトを実行すると追加されます。
function onOpen() { SpreadsheetApp.getUi() .createMenu('追加メニュー') // メニューの追加 .addItem('追加項目', 'myFunction') // 項目の追加 .addSeparator()//区切り線 .addSubMenu(SpreadsheetApp.getUi().createMenu('追加サブメニュー') // サブメニューの追加 .addItem('サブメニューの項目1', 'test') //サブメニューの項目1の追加 .addItem('サブメニューの項目2', 'test') //サブメニューの項目2の追加 ) .addToUi(); } function test() { Browser.msgBox("テストです"); }
実行結果はこんな感じです。
ログの出力
コードは以下になります。
Logger.log(value); // ログを出力