普段データ管理のツールとしてGoogleスプレッドシートを使用していますが、
GoogleスプレッドシートをExcelのVBAの様にスクリプトで操作したいと思いました。
■Google Apps Scriptとは
Googleが提供している Google Suiteを使いやすくしたり連携させたり出来るスクリプト開発環境。
スプレッドシート以外のカレンダーやドキュメント、 Gmail などを自動処理したり連携させるスクリプトが作れるみたいですね。
記述言語はJavascriptがベースなのでとっつき易く面白そうなので、勉強というよりも遊びのつもりで触れてみたいと思います。
Google Apps Scriptの環境はChromeに拡張機能Google Apps Script を入れるだけ使えるみたいです。
![]() |
|
GAS コードエディタを開く
では早速触ってみましょう。
先ずはGoogleスプレッドシートを開きます。
![](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2019/12/gas_f02.png?resize=418%2C211&ssl=1)
新しいタブが開きそこにコードエディタが現れます。
function myFunction() {
var num = "Hello World!!";
Logger.log(num);
}
![](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2019/12/gas_f04.png?resize=142%2C54&ssl=1)
実行します。
何かが実行された表示はありましたがログが現れません。
[Ctrl]+[Enter]
ログが表示されます。
![](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2019/12/gas_f05.png?resize=640%2C460&ssl=1)
もきちんと表示されてます。
ファイルの名前を取得
function myFunction() {
var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
Logger.log(activeSpreadsheet.getName());
}
SpreadsheetApp.getActiveSpreadsheet()
開かれているスプレッドシートファイルを取得します。
スプレッドシートのファイル名を取得します。先ほどと同じく実行して[Ctrl]+[Enter]でログを出します。
![](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2019/12/gas_f10.png?resize=263%2C85&ssl=1)
ファイル名「血圧データ」と表示されました。
アクティブシートの名前を取得
開いているスプレッドシートのアクティブになってるシートの名前を取得します。
function myFunction() {
var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var activeSheet = activeSpreadsheet.getActiveSheet();
Logger.log(activeSheet.getName());
}
スプレッドシートファイルの開かれてるシートを取得します。
シートの名前を取得します。実行して[Ctrl]+[Enter]でログを出します。
![](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2019/12/gas_f06.png?resize=308%2C114&ssl=1)
開かれているアクティブなシートではなく、シートを指定したい場合は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.getRange(“C67”)
“C67″のセルを指定しました。
cellPosition.getValue()
指定したセルの値を取得します。
指定したセルに文字を入力します。
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);
}
それぞれ “B66″と”B68″のセルを指定しました。
setCell.setValue(str_Value);
setCell2.setValue(str_Value2);
setValue()でセルに値を入力します。
実行後にスプレッドシートを確認します。
![](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2019/12/gas_f09.png?resize=372%2C124&ssl=1)
B66は”Asia/Osaka”、B68は”Asia/Kanagawa”に変わりました。
まとめ
通常のjavascriptとそんなに違和感なく書けますね。
ローカルのファイルを扱えないのはデメリットに思う人もいるかと思いますが、
ウェブブラウザのコードエディタで完結してるので、
自宅ではデスクトップのWindowsPC、外出先ではMacBookの様に
場所や環境を気にすることなく扱えるのは機動的な生活環境の人には
メリットがあると思います。
何といってもスプレッドシート以外のGoogleのアプリサービスと連携が取れるのは良いですね。
自宅からでもWeb制作・プログラミング・アプリ開発などが習得できるさまざまなコースをラインナップ。
非エンジニアでスキルを磨きたい方から、フリーランス、就職/転職を目指す方まで、専属のメンターがサポート。
最近は副業ブームもあり「 はじめての副業コース
![](https://i0.wp.com/www19.a8.net/0.gif?resize=1%2C1&ssl=1)
![]() |
|
![]() |
|
国内で10年前からサービスを提供しているタスク管理・プロジェクト管理ツール。
利用者が100万人を超え、エンジニアの方以外にも、事務やデザイナー、マーケター、営業など、多様な職種の方にお使いいただいています。 |
![]() |
![]() |
|
![]() |
|
![]() |
|
「[Google Apps Script]Googleスプレッドシートをスクリプト操作してみた[初心者]」への1件のフィードバック
コメントは受け付けていません。