liquidjumper GoogleAppsScript,javascript [Google Apps Script]Googleスプレッドシートをスクリプト操作してみた[初心者]

[Google Apps Script]Googleスプレッドシートをスクリプト操作してみた[初心者]

gas_topimage

普段データ管理のツールとしてGoogleスプレッドシートを使用していますが、

GoogleスプレッドシートをExcelのVBAの様にスクリプトで操作したいと思いました。

 
Googleスプレッドシートをスクリプト操作するには、Google Apps Script(GAS)というモノを使うようです。

■Google Apps Scriptとは


Googleが提供している Google Suiteを使いやすくしたり連携させたり出来るスクリプト開発環境。


スプレッドシート以外のカレンダーやドキュメント、 Gmail などを自動処理したり連携させるスクリプトが作れるみたいですね。

記述言語はJavascriptがベースなのでとっつき易く面白そうなので、勉強というよりも遊びのつもりで触れてみたいと思います。

Google Apps Scriptの環境はChromeに拡張機能Google Apps Script を入れるだけ使えるみたいです。


 

GAS コードエディタを開く


では早速触ってみましょう。

先ずはGoogleスプレッドシートを開きます。

メニューから ツール>スクリプトエディタ を選択します。
 

新しいタブが開きそこにコードエディタが現れます。

 

ログ表示

 
コードエディタが開かれると以下のコードが記されています。
ロガーに”Hello World!!”表示されるみたいです。
 
function myFunction() {
var num = "Hello World!!";
Logger.log(num);
}
 
 

実行します。

何かが実行された表示はありましたがログが現れません。

[Ctrl]+[Enter]

ログが表示されます。

実行されたDATEと結果が表示されました。
“Hello World!!”
もきちんと表示されてます。
 
 

ファイルの名前を取得

 
開いているスプレッドシートのファイル名を取得してログに表示します。
 
function myFunction() {
  var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  Logger.log(activeSpreadsheet.getName());
}
 
解説
SpreadsheetApp.getActiveSpreadsheet()
開かれているスプレッドシートファイルを取得します。
activeSpreadsheet.getName()
スプレッドシートのファイル名を取得します。先ほどと同じく実行して[Ctrl]+[Enter]でログを出します。

ファイル名「血圧データ」と表示されました。

アクティブシートの名前を取得

 

開いているスプレッドシートのアクティブになってるシートの名前を取得します。

function myFunction() {
  var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var activeSheet = activeSpreadsheet.getActiveSheet();
  Logger.log(activeSheet.getName());
}
解説
 
activeSpreadsheet.getActiveSheet()

スプレッドシートファイルの開かれてるシートを取得します。

activeSheet.getName()
シートの名前を取得します。実行して[Ctrl]+[Enter]でログを出します。
 

開かれているアクティブなシートではなく、シートを指定したい場合はvar activeSheet = activeSpreadsheet.getSheetByName(‘SheetName_01’);

の様に.getSheetByName(シート名)と書くことで可能になります。

 

セルの値を取得

 

特定のセルの値を取得します。

function myFunction() {
    var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
    var activeSheet = activeSpreadsheet.getSheetByName('SheetName_01');
    var cellPosition = activeSpreadsheet.getRange("C7");
    var cellValue = cellPosition.getValue();
    Logger.log(cellValue);

}
解説
 
activeSpreadsheet.getSheetByName(‘SheetName_01’)

情報を見たいシートをシート名で指定しました。

activeSpreadsheet.getRange(“C67”)
“C67″のセルを指定しました。

cellPosition.getValue()
指定したセルの値を取得します。

実行して[Ctrl]+[Enter]でログを出します。

スプレッドシートファイルの表示

ログ表示

セルに値を入力

 

指定したセルに文字を入力します。

function myFunction() {
    var str_Value = " Asia/Osaka";
    var str_Value2 = " Asia/Kanagawa";

    var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
    var activeSheet = activeSpreadsheet.getSheetByName('SheetName_01');
    var setCell = activeSheet.getRange("B66");
    var setCell2 = activeSheet.getRange("B68");
    setCell.setValue(str_Value);
    setCell2.setValue(str_Value2);

}
解説
 
activeSheet.getRange(“B66”);
activeSheet.getRange(“B68”);

それぞれ “B66″と”B68″のセルを指定しました。

setCell.setValue(str_Value);
setCell2.setValue(str_Value2);

setValue()でセルに値を入力します。

実行後にスプレッドシートを確認します。

 

B66は”Asia/Osaka”、B68は”Asia/Kanagawa”に変わりました。

 
 
 

まとめ

 
基本的な操作を試してみました。

通常のjavascriptとそんなに違和感なく書けますね。

ローカルのファイルを扱えないのはデメリットに思う人もいるかと思いますが、
ウェブブラウザのコードエディタで完結してるので、
自宅ではデスクトップのWindowsPC、外出先ではMacBookの様に
場所や環境を気にすることなく扱えるのは機動的な生活環境の人には
メリットがあると思います。

何といってもスプレッドシート以外のGoogleのアプリサービスと連携が取れるのは良いですね。

 







 TechAcademy [テックアカデミー] は、選抜された現役エンジニアから学べるオンライン・プログラミングスクールです。

 自宅からでもWeb制作・プログラミング・アプリ開発などが習得できるさまざまなコースをラインナップ。

 非エンジニアでスキルを磨きたい方から、フリーランス、就職/転職を目指す方まで、専属のメンターがサポート。

 最近は副業ブームもありはじめての副業コース が人気です。






SAMURAI ENGINEER Plus+

𝕏 ( 旧Twitter ) Facebook Pocket LINE はてブ

おすすめの関連記事



あわせてよく読まれている記事

「[Google Apps Script]Googleスプレッドシートをスクリプト操作してみた[初心者]」への1件のフィードバック

コメントは受け付けていません。