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

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

gas_topimage

普段Googleスプレッドシートをデータ管理のツールとして使用しています。
そこでGoogleスプレッドシートをExcelのVBAの様にスクリプトで操作したいと思いました。

 
Googleが提供しているGoogle Apps Scriptで可能なようです。
Google Apps Scriptとは

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

スプレッドシート以外のカレンダーやドキュメント、 Gmail などと連携させた
スクリプトも作れるみたいですね。

記述言語はJavascriptがベースみたいなので始めやすいかも。

面白そうなので勉強のつもで触れてみたいと思います。

Google Apps Scriptの環境はChromeに拡張機能Google Apps Script を入れるだけのようです。

 
 

早速触ってみます。

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のアプリサービスと連携が取れるのは良いですね。

 


BTOパソコンの草分け的ブランド【FRONTIER】

教育機関や研究施設/3DCG/動画編集/そしてゲームプレイにも、用途に合わせたオーダーメイド高性能PCがお得な価格で購入できます

メモリ無償アップ!\新生活応援セール!!/4月15日(木)15時まで

入学や就業など何かと物入りな季節。圧倒的コスパのBTOパソコンを購入して新生活をスタートしませんか!

■AMD Ryzen 7 3700X + NVIDIA GeForce RTX 3060 モデルが149,800円!! 
■intel Core i5-10400F + NVIDIA GeForce RTX 3060 モデルが124,800円!!

他 お買い得PCが沢山!SALE製品は数に限りがあるので売り切れる前に是非
最新GPUも格安構成も自由に選べる!パソコン買うならBTOの【FRONTIER】


【デジハリONLINEの 基礎動画 + AdobeCC一年ライセンス のお得プラン】

デジタルハリウッドのオンラインCGスクール「デジハリONLINE」が提供する、60時間の基礎動画とAdobe creative cloudの一年版ライセンスがパッケージされた、お得な講座プラン

「Adobeマスター講座」

受講ノルマは一切無し、Adobe製品の利用を目的に契約してもOK!これぞコスパ最強プラン!

▶︎ デジハリONLINE講座申込

▶︎基礎動画教材付きAdobe Creative Cloudを年額36,346円(税別)のお得な価格で使用する方法


【UdemyのおすすめGoogleスプレッドシート学習コース】

ネットショッピングをする感覚で講座を購入し、収録された動画を視聴するスタイルなので自分のペースで学習できるUdemy

そのUdemyにはGoogleスプレッドシートが学べる講座もあります。
Googleスプレッドシートの基本から一歩踏み込んだところまでを学べる評価の高い講座で、スプレッドシート以外の表計算ソフトでも使えるテクニックが習得できるので、コスパも高く実務ですぐに使えます。

【IT初心者でもわかる!Google スプレッドシート入門編】基本機能を活用したワンランク上の使い方、情報処理をマスター
Google スプレッドシートを用いて表計算ソフトの一般的な機能を体験するコースです。 四則演算や絶対参照、キーボードショートカットからはじまり、 関数SUM / IF / VLOOKUP や、フィルタ、並べ替え、ピボット、グラフまでを体験

Twitter Facebook Pocket LINE はてブ

おすすめの関連記事
コチラの記事も読まれています
あわせてよく読まれている記事