エクセルの神髄
GAS(Google Apps Script)入門

Google Apps Script(GAS)の入門編です
最終更新日:2021-04-14

GAS(Google Apps Script)入門


Google Apps Script(GAS)使ったことが無く、初めて使う方を対象に、出来るだけ平易な解説をしていきます、
また、文法的な話は極力少なめにして、実際に使えるようになることを目指します。


本シリーズでは、
Googleスプレッドシートで、Google Apps Script(GAS)を使いながら、このスクリプト言語を学んで行きます。


Google Apps ScriptがV8ランタイムをサポート

2020年2月、Google Apps Scriptが「V8ランタイム」と呼ばれるJavaScriptエンジンをサポートしました。
GASでV8ランタイムがサポートされたことで、ECMAScriptの構文が使用できるようになりました。
このGAS入門で扱っているGASのコードは極めて基本的なものばかりなので、V8移行による影響はありません。


とにかくGASをやってみよう

第1回.GASって何? Google Apps Scriptって何?
・スクリプトとは ・Google Apps Script(GAS)のメリット ・スプレッドシートでの活用 ・マクロ機能について ・Visual Basic Applications(VBA)との使い分け ・Google Apps ScriptがV8ランタイムをサポート ・GASについての最後に
「マクロ機能」と「V8ランタイム」について追記しました。
・スクリプトとは ・Google Apps Script(GAS)のメリット ・スプレッドシートでの活用 ・マクロ機能について ・Visual Basic Applications(VBA)との使い分け ・Google Apps ScriptがV8ランタイムをサポート ・GASについての最後に

第2回.とにかく書いてみよう(スクリプト エディタ)
・スプレッドシートの用意 ・スクリプト エディタの起動 ・プロジェクト名の変更 ・プロジェクトの新規作成・削除 ・スクリプト ファイル ・スクリプトを書く ・スクリプトの保存 ・とにかく書いてみよう(スクリプト エディタ)の最後に
第3回.スクリプトを実行するには
・前回書いたスクリプト ・スクリプト エディタから実行 ・スプレッドシートのボタンにスクリプトを登録 ・スクリプトが間違っているとき ・スクリプトを実行するにはの最後に
第4回.セルに数字や文字を入れる
・新しいfunctionを追加 ・インデントについて ・書く練習 ・実行して確認 ・コードの解説 ・オブジェクトについて ・メソッドについて ・ステートメントの末尾について ・スクリプトを読めるようになりましょう
第5回.変数って何だ?
・変数とは ・前回書いたスクリプト ・A2セルにも文字を入れたい ・もっと短く書けないのか ・変数を使って書き直すと ・変数の宣言方法と使い方 ・数値や文字を変数に入れる ・変数って何だ?の最後に
第6回.セルの値を使って計算する
・セルの値の取得と設定 ・完成スクリプト、その1 ・解説、その1 ・完成スクリプト、その2 ・解説、その2 ・算術演算子(四則演算子) ・セルの値を使って計算するの最後に
第7回.同じ計算を行数分繰り返す
・同じ計算を行数分繰り返すとは ・前回のスクリプト ・完成スクリプト ・スクリプトの解説 ・forの詳細 ・ブロック文 ・同じ計算を行数分繰り返すの最後に
第8回.最終行を取得して繰り返す
・前回の復習 ・完成スクリプト ・スクリプトの解説 ・指定列の最終行 ・最終行を取得して繰り返すの最後に
第9回.コメントの書き方
・コメントアウトの書き方 ・コメントの必要性 ・コメントの書き方
第10回.条件で処理を変える(条件分岐,if)
・条件分岐(if)の例題 ・完成コード ・if...else文の説明 ・比較演算子 ・論理演算子 ・ビット演算子 ・条件分岐(if)の最後に
第11回.条件で処理を変える(条件分岐,switch)
・条件分岐(switch)の例題 ・完成コード ・switch文の説明 ・条件分岐(switch)の最後に
第12回.表範囲をまとめて消去する
・セルの値の消去 ・データ部分だけを消去する例題 ・完成スクリプト ・スクリプトの解説 ・VBAのCurrentRegionについて ・表範囲をまとめて消去の最後に
第13回.セルに書式を設定する
・書式を設定する例題 ・罫線 ・塗りつぶし ・フォント サイズ ・太字 ・CSSの色設定 ・完成スクリプト ・設定されている書式の取得 ・セルに書式を設定の最後に
第14回.複数のシートを扱う
・複数のシートを扱う例題 ・シート名でシートを取得 ・インデックスでシートを取得 ・シート数を取得 ・る ・複数のシートの最後に
第15回.複数のスプレッドシートを扱う
・他のスプレッドシートの指定方法 ・完成スクリプト ・文字列結合 ・複数のスプレッドシートの最後に

GASの文法を基礎から

第16回.Google Apps Scriptの文法を再確認
・記述のルール ・変数・定数の宣言 ・命名規則
第17回.JavaScript リファレンス
・全体目次 ・ ・ ・
第18回.組み込み関数を使う
・小数を整数に、切り上げ・切捨て・四捨五入 ・日付を作成 ・日付から、年・月・日を取り出す ・日数後・月数後・年数後を求める ・大文字小文字の変換 ・文字列を置換する ・文字列から一部を取り出す ・文字列系の練習問題 ・練習問題の回答 ・組み込み関数の最後に
第19回.いろいろな繰り返し処理
・にある反復処理 ・繰り返し処理の例題 ・for ・do...while ・while ・break ・continue ・繰り返し処理の最後に
第20回.エラー処理(try・・・catch)
・エラー処理(try・・・catch)の例題 ・try・・・catch ・try・・・catchでエラー処理を入れたスクリプト ・tryブロックに含めるステートメントの範囲 ・エラー処理の最後に
第21回.配列って何なんだ?
・配列を作成する ・インデックスを指定して操作する ・配列に追加する ・配列から削除する ・PPAP ・配列の繰り返し処理 ・多次元配列について ・配列の最後に
第22回.オブジェクト、メソッド、プロパティとは
・オブジェクト ・メソッド ・プロパティ ・具体例 ・オブジエクトの階層構造とメソッドの戻り値

GASでスプレッドシートの機能を使う

第23回.行・列を操作する(挿入・削除・非表示・サイズ)
シートの行や列全体に対する操作になります、挿入、削除、表示非表示、行高、列幅、これらは、sheetオブジェクトのメソッドを使います。以下では、sheetオブジェクトのメソッドのうち、行・列に関するメソッドを抜粋しています。基本として見方、使い方ですが、1行や1列のみ対象の場合は単数形(Row,Column) 複数行…
第24回.シートの挿入・削除・名前変更
シートの挿入、シートの削除、シートの名前変更です、シートの挿入・削除は、Spreadsheetオブジェクトのメソッド、名前の変更は、Sheetオブジェクトのメソッドになります。以下では、これだけ覚えておけば良いというメソッドに限定して抜粋しています。
第25回.スプレッドシート(ブック)の作成・名前変更
スプレッドシートの作成と名前変更です、スプレッドシートの作成は、SpreadsheetAppのcreateメソッド、名前の変更は、Spreadsheetオブジェクトのrenameメソッドになります。削除は、と思ってメソッドを探しましたが、見当たりませんでした。
第26回.セルのコピー&各種ペースト
GoogleAppsScriptで、スプレッドシートのセルをコピペする時の書き方になります、セルのコピペといっても、セル全体、値のみ、書式のみと、いろいろな貼り付け方法があります。記述方法は複数ありますが、基本の使い方だけ覚えれば十分です。
第27回.セルに数式を入れる
GoogleAppsScriptで、スプレッドシートのセルに、計算結果ではなく、計算式そのものを入れる場合のほうほうについての解説です。スクリプトで処理する場合は計算結果を入れる事が多いのですが、時に計算式を入れた方が後の使い勝手が良い場合もあります。
第28回.リンクの挿入・編集・削除
GoogleAppsScriptで、スプレッドシートのセルにハイパーリンクを挿入する場合です、しかし、そもそもスプレッドシートでは、Excelのハイパーリンクとは違い、HYPERLINK関数しかありません。そこで、スクリプトでハイパーリンク関数を挿入する方法についてという事になります。
第29回.メモの挿入・削除と改行文字
GoogleAppsScriptで、スプレッドシートのセルにメモを挿入・削除するスクリプトの書き方です、メモを改行する時の改行コードについても解説します。メモは、まさしくメモとして各種注意事項や、変更履歴等として使う事の出来る機能です。ただし、「コメントの挿入」とは違います。
第30回.並べ替え
GoogleAppsScriptで、スプレッドシートを並べ替えます、書き方のバリエーションがいろいろありますが、並べ替えキー列、昇順・降順、これらをどのように指定するかだけの違いになります。書き方のバリエーションごとに順に見ていきましょう。
第31回.入力規則
GoogleAppsScriptで、スプレッドシートに入力規則を設定します、入力規則は機能がとても多く、それにメ対応したソッドも多数あります。ここでは、メソッドの一覧と、代表的な使い方を参考スクリプトを掲載します。入力規則の作成方法の概要 クラスSpreadsheetAppのメソッドnewDataValidatio…
第32回.グラフ
GoogleAppsScriptで、スプレッドシートにグラフを挿入します。スクリプトであまり凝ったレイアウトのグラフを作成しようとすると、結構大変になりますので、そのような場合は、手動で作成したグラフをスクリプトで変更する等の工夫も必要です。
第33回.表示の固定
GoogleAppsScriptで、シートの表示(スクロール)の固定を設定します。表とは一般に、横に項目、縦にデータが連続して入っているものです、スクロールした場合に、見出しが見えなくなってしまう事のないように設定しておきます。表示(スクロール)の固定に関するメソッド Sheetのメソッドを使います。
第34回.シート保護
GoogleAppsScriptで、スプレッドシートを保護します、スプレッドシートの保護に関しては、少々面倒なスクリプトだと感じます。ここでは理屈抜きでサンプルコードの提示に徹します。保護する場合の実際のスクリプトのサンプルを見ていきましよう。

GASの使えるテクニックを増やす

第35回.スプレッドシートが非常に遅い、高速化するには
GoogleAppsScriptで、スプレッドシートのセルを扱うと、とても処理時間がかかります、あまりにも遅く、目で動作がゆっくり見えるレベルです、データ量が多くなっても、実用に耐える速度で処理する方法を解説します。スプレッドシートに比べればExcelはかなり速いですが、VBAの書き方によっては処理時間がかかってし…
第36回.フォルダとファイルを扱う(DriveApp)
GoogleAppsScriptで、Googleドライブのファイルやフォルダを扱う場合は、DriveAppクラスを使います。DriveAppクラスの各種メソッドの戻り値(FolderクラスやFileクラス)のメソッドを使って各種操作を行います。
第37回.フォルダの一覧取得・作成・削除(Folder)
GoogleAppsScriptで、フォルダ内のサブフォルダ一覧を取得したり、フォルダ内にサブフォルダを作ったり削除したりするスクリプトの書き方を解説します。使用するクラスは、DriveApp Folder File FolderIterator FileIterator これらのメソッドを使います。
第38回.ファイルの一覧取得・削除(File)
GoogleAppsScriptで、フォルダ内のファイル一覧を取得したり、フォルダ内にファイルを作ったり削除したりするスクリプトの書き方を解説します。使用するクラスは、DriveApp Folder File FolderIterator FileIterator これらのメソッドを使います。

GASの応用編

Excel流の最終行の取得
Excelでは、xlUpやxlDownで指定列の最終行を取得することが多いです。GoogleAppsScriptにもどうようのものは用意されています。かなり記述が複雑になっててますが、このGASの書き方を紹介します。
Excelでは、xlUpやxlDownで指定列の最終行を取得することが多いです、
しかし、これに該当するものは、Google Apps Scriptには存在しません、
そこで、自作したらどうなるか、という事で書いてみました。

Twitter Bot 作成
GoogleAppsScriptで、TwitterのBotを作成します、全て作成していたら大変ですし、今の段階では私にその技量はありませんので、ネットに公開されているものを参考に作成しました。従って、ここでは手順の紹介がメインで、コード等はリンク先を参照してください。
Google Apps Scriptで、TwitterのBotを作成します、
全て作成していたら大変ですし、今の段階では私にその技量はありませんので、
ネットに公開されているものを参考に作成しました。




新着記事NEW ・・・新着記事一覧を見る

VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)
VBAでクリップボードへ文字列を送信・取得する3つの方法|VBA技術解説(2023-12-07)
難しい数式とは何か?|エクセル雑感(2023-12-07)
スピらない スピル数式 スピらせる|エクセル雑感(2023-12-06)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.並べ替え(Sort)|VBA入門
8.条件分岐(IF)|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ