SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

連載記事

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

翔泳社では、「独習」「徹底入門」「スラスラわかる」「絵で見てわかる」「一年生」などの人気シリーズをはじめ、言語や開発手法、最新技術を解説した書籍を多数手がけています。プロジェクトマネジメントやチームビルティングといった管理職向けの書籍も豊富です。

ITエンジニアとしてのスキルアップ・リスキリングに、ぜひお役立てください。

書籍に関する記事を見る

'); googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRenderEnded', function(e) { var ad_id = e.slot.getSlotElementId(); if (ad_id == 'div-gpt-ad-1659428980688-0') { var ad = $('#'+ad_id).find('iframe'); if ($(ad).width() == 728) { var ww = $(window).width(); ww = ww*0.90; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/728+","+ww/728+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/728+","+ww/728+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/728+","+ww/728+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/728+","+ww/728+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(90*ww/728)+"px;width:"+728+"px;}", 0 ); } else { if ($(window).width() < 340) { var ww = $(window).width(); ww = ww*0.875; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/320+","+ww/320+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/320+","+ww/320+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/320+","+ww/320+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/320+","+ww/320+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(180*ww/320)+"px;width:"+320+"px;}", 0 ); } } } }); }); } else { document.write('
'); document.write('
'); }
速習Google Apps Script

Google Apps ScriptでGoogleドキュメントのスプレッドシートを操作する

Google Apps ScriptによるGoogleドキュメントの操作(1)


  • X ポスト
  • このエントリーをはてなブックマークに追加

 Googleドキュメントのスプレッドシートを操作する「Google Apps Script」を使って、マクロ・プログラミングを始めましょう。現在は、無料で利用できるGoogleドキュメントでもスクリプトが使えるようになっています。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 「Google Apps Script」は、Googleドキュメントのスプレッドシートに搭載されているスクリプト機能です。これは発表当初、Google Appsの有料版(プレミア版)のみで利用可能であったため、「無償版のユーザーは使えない」と思っていた人も多いのではないでしょうが。が、現在では、無料で利用できるGoogleドキュメントでもスクリプトが使えるようになっています。これを利用し、Googleドキュメントのスプレッドシートを操作することができます。いわば、Excelなどの「マクロ」と同じ機能を提供してくれるのです。

 最近では、クラウド・アプリケーションとしてオフィスソフトが提供されるようになってきました。Googleの「Googleドキュメント」だけでなく、マイクロソフトが「Microsoft Office Web Apps」を公開するなど、本格的にWebへの移行が進められつつあります。一方、多くの人の認識と言えば、「スプレッドシートっていっても、せいぜい表を作って関数を設定できる程度でしょ? グラフやマクロなんかはまだまだできないんじゃない?」といったところではないでしょうか。

 しかし、知らない内にWebアプリケーションは進化しているのです。Googleドキュメントのスプレッドシートについていえば、既にベクターグラフィックの描画や各種グラフの作成、さらに文書への表やグラフの埋込みなど、スタンドアロン・アプリケーションのオフィスソフトと比べても遜色ないまでに進化しています。そして今、「スプレッドシートを自動制御するマクロ機能」についても使えるようになったのです。

 Google Apps Scriptで、果たしてどのようなことが可能なのか。その基本的な使い方について、ここで解説をしていくことにしましょう。

対象読者

  • Web版オフィスアプリケーションの導入を考えている方。
  • GoogleドキュメントまたはGoogle Appsを既に使っている人。
  • 各種のWebサービスの自動化を考えている人。

Google Apps ScriptはサーバーサイドJavaScript!

 まず、このGoogle Apps Scriptというのがどういう言語なのか、簡単に説明しておきましょう。一口に言うなら「JavaScript+オブジェクトライブラリ」です。すなわち、JavaScriptに、Googleドキュメントを中心とした各種のサービスを操作するためのオブジェクトをまとめたライブラリを加えて提供し、これらのオブジェクトを利用することでサービスを操作できるようになっています。

 Google Apps Scriptで非常に興味深いのは、これがクライアントサイドではなく「サーバーサイド」で実行される、という点です。JavaScriptは、基本的にクライアントサイドで実行されるスクリプト言語です。スプレッドシートを操作するにしろ、Webブラウザに表示されているシートの各要素をオブジェクトとして操作するのであれば、クライアントサイドだけで動いているように思うかも知れません。

 が、それはGoogle Apps Scriptの働きを見誤っているといわざるを得ません。これはただ単に「表示されているシートをJavaScriptで操作する」ためのものではありません。「Googleが提供するさまざまなサービスをJavaScriptで操作する」ためのものなのです。いえ、将来的なことを考えれば、Googleのサービスと限定する必要もないでしょう。

 Webの世界に展開されるさまざまなサービス。それらをすべてスクリプトで操作し自動化する。Google Apps Scriptが目指すのは、そういう世界なのです。だからこそ、単にクライアントサイドだけで実行するのでなく、サーバーサイドに送られ、そこでさまざまなサービスにアクセスし処理できるようになっているのです。

スクリプトはどこに書く?

 では、実際にGoogle Apps Scriptを使ってみましょう。まず、Googleドキュメントにアクセスし、新規にスプレッドシートを作成してください。スプレッドシートの「ツール」メニューを見ると、そこに「スクリプト」という項目が用意され、その下に「管理」「挿入」「スクリプトエディタ」といった項目が表示されるはずです。これらの役割をざっと整理しておきましょう。

図1 「スクリプト」メニューに、スクリプト関係の機能がまとめられている。
図1 「スクリプト」メニューに、スクリプト関係の機能がまとめられている。

「管理」メニュー

 スクリプトを管理するためのものです。ライブラリなどからスクリプトを追加したとき、それらを編集したり実行したりすることができます。

 メニューを選ぶと、画面にパネルが現れ、そこで組み込まれているスクリプトを編集・実行・削除することができるようになります(デフォルトではスクリプトがないため、開いても何も表示されません)。

「挿入」メニュー

 「スクリプトギャラリー」という公開されたスクリプトのライブラリから、使いたいスクリプトを探して組み込むことができます。メニューを選ぶと、画面にパネルが現れます。このパネルでは、左側にスクリプトのジャンルが表示され、それをクリックすると右側にスクリプトのリストが表示されます。ここから使いたいものをインストールすることができます。

 現時点ではまだ、Googleが公開しているサンプルスクリプトだけしか用意されていないようですが、今後、ライブラリを充実させていけば、ここから使いたいものを探すだけでいろいろな機能を追加できるようになってくることでしょう。

 これは、「挿入」メニューにある「スクリプト」メニューを選んでも同様の画面を呼び出すことができます。

図2 「スクリプト」メニューに、スクリプト関係の機能がまとめられている。
図2 「スクリプト」メニューに、スクリプト関係の機能がまとめられている。

「スクリプトエディタ」メニュー

 スクリプトを自分で作成するための専用エディタを開きます。このスクリプトエディタは別ウインドウとして表示され、スクリプト編集のためのメニューとツールバー、編集エリアなどが用意されます。

 このスクリプトエディタは、スクリプトの入力を支援する機能が組み込まれており、記述された要素に応じて色分け表示したり、文法に応じて自動的にインデントをつけたりしてくれます。また入力中、オブジェクト名の後にドットを打つと、そのオブジェクトに用意されているメソッド類がポップアップして現れるなど、本格的な開発ツールに近い機能を提供してくれます。

図3 スクリプトエディタ。オブジェクトに用意されているメソッドをポップアップ表示したり、自動インデントや行数表示、要素の色分け表示など、入力を支援する数々の機能が組み込まれている。
図3 スクリプトエディタ。オブジェクトに用意されているメソッドをポップアップ表示したり、自動インデントや行数表示、要素の色分け表示など、入力を支援する数々の機能が組み込まれている。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
スクリプトエディタを使う

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
速習Google Apps Script連載記事一覧
この記事の著者

掌田 津耶乃(ショウダ ツヤノ)

三文ライター&三流プログラマ。主にビギナーに向けたプログラミング関連の執筆を中心に活動している。※現在、入門ドキュメントサイト「libro」、カード型学習サイト「CARD.tuyano.com」を公開...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5036 2010/04/22 19:00
" ); }

おすすめ

アクセスランキング

  1. 1
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説 NEW
  2. 2
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  3. 3
    Microsoft、オープンソースのプログラミング言語「TypeScript 5.8」をリリース NEW
  4. 4
    フロントエンドの定番ライブラリ「React 19」の新機能を紹介──React Server Componentsとその他の改善点 NEW
  5. 5
    ゲーム業界で働くプログラマ・エンジニア、8割超が現在の職場のスキル評価に満足 NEW
  1. 6
    変化が激しい時代が抱える「3つのリスク」とは? 塩谷啓氏が語るベテランエンジニアの生存戦略
  2. 7
    SNSマーケティングを支えるエンジニア──toridoriのエンジニアリングマネージャーが語るマネジメント職の大切さとは?
  3. 8
    GitHub、あらゆるエディタやIDEとGitHub Copilotとの統合を可能にする「Copilot Language Server SDK」を一般公開
  4. 9
    50歳以上のITエンジニアの転職動向はいかに?リクルートが調査 NEW
  5. 10
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開

アクセスランキング

  1. 1
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説 NEW
  2. 2
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  3. 3
    Microsoft、オープンソースのプログラミング言語「TypeScript 5.8」をリリース NEW
  4. 4
    フロントエンドの定番ライブラリ「React 19」の新機能を紹介──React Server Componentsとその他の改善点 NEW
  5. 5
    ゲーム業界で働くプログラマ・エンジニア、8割超が現在の職場のスキル評価に満足 NEW
  6. 6
    変化が激しい時代が抱える「3つのリスク」とは? 塩谷啓氏が語るベテランエンジニアの生存戦略
  7. 7
    SNSマーケティングを支えるエンジニア──toridoriのエンジニアリングマネージャーが語るマネジメント職の大切さとは?
  8. 8
    GitHub、あらゆるエディタやIDEとGitHub Copilotとの統合を可能にする「Copilot Language Server SDK」を一般公開
  9. 9
    50歳以上のITエンジニアの転職動向はいかに?リクルートが調査 NEW
  10. 10
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  1. 1
    ITエンジニア本大賞2025、技術書部門とビジネス書部門の大賞が決定!
  2. 2
    iOS・iPadOS 18.3がリリース
  3. 3
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  4. 4
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  5. 5
    AIや統計の数式を解説する美少女VTuber「AIcia Solid Project」生みの親が語る、継続できるアウトプット活動とは?
  6. 6
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  7. 7
    Webはどんどん複雑になっている? これまでのWebシステムのトレンドを振り返る
  8. 8
    Linuxディストリビューション「EndeavourOS Mercury」が一般提供開始
  9. 9
    ITエンジニア本大賞2025のプレゼン大会をレポート、最終決戦に臨んだ本に込められた想いとは
  10. 10
    開発者のOSS活動が会社から評価される世の中にしたい──日立製作所が専門組織設立に込めた情熱

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

メールバックナンバー

アクセスランキング

  1. 1
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説 NEW
  2. 2
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  3. 3
    Microsoft、オープンソースのプログラミング言語「TypeScript 5.8」をリリース NEW
  4. 4
    フロントエンドの定番ライブラリ「React 19」の新機能を紹介──React Server Componentsとその他の改善点 NEW
  5. 5
    ゲーム業界で働くプログラマ・エンジニア、8割超が現在の職場のスキル評価に満足 NEW
  1. 6
    変化が激しい時代が抱える「3つのリスク」とは? 塩谷啓氏が語るベテランエンジニアの生存戦略
  2. 7
    SNSマーケティングを支えるエンジニア──toridoriのエンジニアリングマネージャーが語るマネジメント職の大切さとは?
  3. 8
    GitHub、あらゆるエディタやIDEとGitHub Copilotとの統合を可能にする「Copilot Language Server SDK」を一般公開
  4. 9
    50歳以上のITエンジニアの転職動向はいかに?リクルートが調査 NEW
  5. 10
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開

アクセスランキング

  1. 1
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説 NEW
  2. 2
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  3. 3
    Microsoft、オープンソースのプログラミング言語「TypeScript 5.8」をリリース NEW
  4. 4
    フロントエンドの定番ライブラリ「React 19」の新機能を紹介──React Server Componentsとその他の改善点 NEW
  5. 5
    ゲーム業界で働くプログラマ・エンジニア、8割超が現在の職場のスキル評価に満足 NEW
  6. 6
    変化が激しい時代が抱える「3つのリスク」とは? 塩谷啓氏が語るベテランエンジニアの生存戦略
  7. 7
    SNSマーケティングを支えるエンジニア──toridoriのエンジニアリングマネージャーが語るマネジメント職の大切さとは?
  8. 8
    GitHub、あらゆるエディタやIDEとGitHub Copilotとの統合を可能にする「Copilot Language Server SDK」を一般公開
  9. 9
    50歳以上のITエンジニアの転職動向はいかに?リクルートが調査 NEW
  10. 10
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  1. 1
    ITエンジニア本大賞2025、技術書部門とビジネス書部門の大賞が決定!
  2. 2
    iOS・iPadOS 18.3がリリース
  3. 3
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  4. 4
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  5. 5
    AIや統計の数式を解説する美少女VTuber「AIcia Solid Project」生みの親が語る、継続できるアウトプット活動とは?
  6. 6
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  7. 7
    Webはどんどん複雑になっている? これまでのWebシステムのトレンドを振り返る
  8. 8
    Linuxディストリビューション「EndeavourOS Mercury」が一般提供開始
  9. 9
    ITエンジニア本大賞2025のプレゼン大会をレポート、最終決戦に臨んだ本に込められた想いとは
  10. 10
    開発者のOSS活動が会社から評価される世の中にしたい──日立製作所が専門組織設立に込めた情熱