Googleスプレッドシートのマクロ Google Apps Script 《GAS》を試してみた。

岡山市北区のプログラミング教室 キュリオステーション岡山店トップ202104 Javascript Sample
岡山市北区のプログラミング教室 キュリオステーション岡山店

Google さんのExcel、スプレッドシートで何ができるのか?

想定しながら、マクロである Google Apps Script を試しながら作ってみた備忘録です。

個人で勉強されるならテキストを見ながら挑戦して見て下さい。
詳解! GoogleAppsScript完全入門 ~GoogleApps & G Suiteの最新プログラミングガイド~

こんな流れを想定しています。

岡山市のプログラミング教室 GAS の 処理イメージ
岡山市のプログラミング教室 GAS の 処理イメージ

Google フォームにて、アンケートをお願いした想定、社内でもお客様でも、Google フォームから回答される。

その回答結果を、蓄積して、管理番号など入力(手入力で?)、年月日時刻でも?

各明細に対して、個別に印刷?できるようなイメージで考えて?

処理が終わったら、履歴としてデータを蓄積していこうと・・・そんな流れをイメージしています。

そこから、ダウンロードして、Excelで集計してもいいし、このままスプレッドシート上で集計してもいい。

そんな感じの流れを想定しながら、、、

先日、こんなことできるの?っと質問されたので、試しに簡単な内容で作ってみました。

①簡単な回答フォームを準備

岡山市のプログラミング教室 GASてすと用の回答フォーム
岡山市のプログラミング教室 GASてすと用の回答フォーム

実際に回答してデータをためてみた。

②スプレッドシートからも「Google フォーム」が追加できる。

岡山市のプログラミング教室 GASてすと用の回答結果一覧
岡山市のプログラミング教室 GASてすと用の回答結果一覧

ちゃんと、回答結果がたまっている・・・

Googleスプレッドシートの「フォーム」から作ってみると、「フォームの回答」シートが追加された。(直接、Google フォームから作成しても連携はできます。)

※こらだけでも十分かも知れませんが、、、今回は、GASを試してみたいので、この続きを

データの不備もあるかも・・・と想定して、

③何故か?手作業で確認しながら、「入力シート」にコピペ? 
管理上の番号を手入力?といった想定に・・・・

岡山市のプログラミング教室 GASてすと用の回答結果一覧を入力シートに
岡山市のプログラミング教室 GASてすと用の回答結果一覧を入力シートに

この画面にある。

④「実行」ボタンみたいなのを押すと、マクロが実行されるようにしています。

実行すると、、、

岡山市のプログラミング教室 GASてすと用の回答1件毎に明細表示
岡山市のプログラミング教室 GASてすと用の回答1件毎に明細表示

マクロの動作チェックも兼ねて、

メッセージBOXで、1明細毎に、繰り返し表示されるように、してみました。

メッセージの出力

Browser.msgBox("メッセージ内容");

メッセージ内容に出力したい文字列を編集すると、デバッグも兼ねて確認できる。

岡山市のプログラミング教室 GASてすと用の履歴データ
岡山市のプログラミング教室 GASてすと用の履歴データ

処理が終わったデータを履歴で保存しておくと、何かと便利かと。。。思いながら、、、、

残念ながら、直接印刷は、できませんが、PDFには、保存できそうです。(まだ、試してない)

Google Apps Script は、JavaScript の構文で、ExcelのマクロであるVBAを記述しているような感じ

もっとも、VB言語とC言語の構文の違いで戸惑うかも知れませんが・・・

Excelのマクロを見たことがある人は、解りやすいのかも知れません。

「マクロ記録」といった機能があるので、最初に記録してみました。

シートを選択し、値を入力したマクロです。

function myFunction1() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('D11').activate();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('明細シート'), true);
  spreadsheet.getRange('C2').activate();
  spreadsheet.getCurrentCell().setValue('1003');
  spreadsheet.getRange('C3').activate();
};

最初の2行は、現在のアクティブな場所。

次に、シートの選択、場所の指定、セットした値。

最後に、「Enterキー」を押下したので、移動した場所があります。

この分部から、必要な箇所を抜き出して、このままでは、扱いにくいので、getRange を row , column に変えて繰り返し処理させるなど、扱いやすいように変更していきます。

App Script コードの記述エディタは、親切に、編集名が出てきたり、パラメーターのヒントも出てくれるので、記述の間違いなくできそうです。

《入力シート》の「管理番号」を取得して、《明細シート》の「管理番号」にセットするのは、こんな感じで作れました。

  var spreadsheet = SpreadsheetApp.getActive();
  var kno;  
  // 入力シート
  var inshert = spreadsheet.setActiveSheet(spreadsheet.getSheetByName('入力シート'), true);
  var mshert = spreadsheet.setActiveSheet(spreadsheet.getSheetByName('明細シート'), true);
  // 管理番号を取得
  kno = inshert.getRange(2,2).getValue();
  // 管理番号をセット
  mshert.getRange(2,3).setValue(kno);

この続きは、固定の数値を変数に置き換えて、ループ処理を作りこんでいけば、できそうです。

Excelもですが、「マクロ記録」といった機能がありますので、どのような記述になるのか?ヒントになります。

全てを覚えながら、コーディングしてもよいですが、マクロ記録を上手く使って、ヒントを得てもよいでしょう。

JavaScriptも、VBAもですが、変数の型宣言が緩いチェックですので、簡単な反面、間違いやすいこともありますので、注意が必要です。

個人でのお試し用なので、エラーチェック、例外エラー処理まで組み込んでいません。

プログラミングは、まず、流れの理解から、、、

【おまけ】

Google ドライブのフォルダの指定は、URLに出てくる名前となります。

「作成したフォルダ名」と「URL」が存在するので、少しややこしく感じるかも知れません。

独学されるなら、初心者向けのテキスト本で!!

パソコン・スマホの基本スキルを学ぶなら、岡山市北区のパソコン教室「キュリオステーション岡山店」へ!!

通いやすい仕組みの料金設定も魅力的だとよく言われます。

また、同じ料金設定で小中高生も大学生も大人もスキルアップできる初心者向けのプログラミング教室、子ども向けの知的好奇心を育むロボット教室マンツーマン個別レッスンの英会話教室もしています。

お問い合わせ

TEL:086-206-5592

WEB:WEBから

岡山市北区のパソコン&プログラミング教室|こどもロボット&英語教室
岡山でパソコン・プログラミング教室、ロボット教室をお探しなら、岡山地域で「めっちゃ解りやすい説明ですネ」っとよく言われる岡山市北区のパソコン・プログラミング教室|こどもロボット教室&英語教室のキュリオステーション岡山店へ
岡山市北区のマンツーマン個別指導型パソコン教室
岡山でパソコン・プログラミング教室をお探しなら、「解りやすい説明でした」との感想が多い岡山市北区のパソコン・プログラミング教室【キュリオステーション岡山店】へ、気軽にスマホのことも相談できる教室です。無料体験・無料相談も随時しています。
岡山市北区のプログラミング教室「キュリオステーション岡山店」
岡山でパソコン・プログラミング教室をお探しなら、キュリオステーション岡山店へ、岡山地域で一番の問題解決力「私には解りやすかった」との感想が多い岡山市北区のプログラミング教室です。驚きの回答と効率よい学び方の相談などお気軽にお問い合わせを!!
岡山市北区のロボット教室&ロボットプログラミング教室【岡山表町教室】
岡山でロボット教室|ロボットプログラミング教室をお探しなら、岡山市で発想力と応用力を養う習い事と話題のヒューマンアカデミーロボット教室「岡山表町教室」へ。準備も片付けも自分で!普段見られない姿が見られるロボット教室
岡山市北区の恥ずかしがり屋な子ども向け英語|英会話教室
岡山でこども英語教室をお探しなら、岡山市北区のシャイで恥ずかしがり屋な子ども向け英語|英会話教室「ヒューマンアカデミーランゲージスクール岡山表町教室」へ、英会話スクールと英語塾のいいとこ取りの仕組みとなっています。気になりましたら無料体験をご予約下さい。
岡山市北区のパソコン教室「キュリオステーション岡山店」の料金設定
岡山でパソコン教室をお探しなら、気軽に相談できる教室と話題の安い料金設定も魅力的な岡山市北区のパソコン教室「キュリオステーション岡山店」へ、パソコン、スマホ、プログラミング、資格取得、学び方など、ちょっとした相談事など気軽に相談できる教室です。

 

タイトルとURLをコピーしました