LoginSignup
0
0

GASを触る

Posted at

仕事で何回かGASを触って社内用のプログラムを作成することがあったのでバラバラとしている知識を整理するためにGASについてまとめます。

GASとは

Apps Script は、Google Workspace の統合、自動化、拡張のためのビジネス ソリューションをすばやく簡単に構築するための唯一のローコード プラットフォームです。Apps Script を使えば、ビジネス ユーザーは本格的なソフトウェア開発の経験がなくても、Google Workspace 上にカスタム ソリューションを構築できます。Apps Script は、Gmail アカウントをお持ちであればどなたでもご利用いただけます。

(公式サイトから引用: https://workspace.google.co.jp/intl/ja/products/apps-script/)

GASの特徴

  1. Gmailアカウントがあれば誰でも無料で使える
  2. 開発環境のセットアップが不要で、すぐに始められる
  3. JavaScript互換で覚えやすい
  4. マクロ機能でノンコード開発ができる

(引用: https://satori.marketing/marketing-blog/gas-introduction/)

外部ライブラリを追加する

GASでは、作成した関数を他のプロジェクトから利用できる仕組みが用意されていて、それをライブラリと言います。

(引用: https://tonari-it.com/gas-library/#:~:text=GAS%E3%81%A7%E3%81%AF%E3%80%81%E4%BD%9C%E6%88%90%E3%81%97%E3%81%9F%E9%96%A2%E6%95%B0,%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%A8%E3%81%84%E3%81%86%E3%82%8F%E3%81%91%E3%81%A7%E3%81%99%E3%80%82)

スプレッドシートでの利用

  1. chromeでスプレッドシートを作成
  2. スプレッドシートのメニュー > [拡張機能] > [Apps Script]を選択
  3. Apps ScriptのIDEが開かれるので、プロジェクト名を入力

ログに「Hello, World!」を出力してみる

function test_log() {
  Logger.log('Hello, World!');
}

スプレッドシートの特定のセルから値を取得する

function getValueFromCell() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var cell = sheet.getRange("A1");
  var value = cell.getValue();
  Logger.log("セルの値は: " + value);
}

スプレッドシートに値を入力する

function setTextInCell() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var cell = sheet.getRange("A1");
  cell.setValue("Hello, World!");
}

URLを指定してサイトの情報を取得する

function fetchSourceCode(url) {
    var response = UrlFetchApp.fetch(url)
    var html = response.getContentText();
    var statusCode = response.getResponseCode()
    Logger.log(html)
    Logger.log(statusCode)
    return html
}

HTMLをパースする

function parseHtml(html) {
  var data = Parser.data(html).from('<h1>').to('</h1>').build();
  Logger.log(data)
}

1列のデータをすべて取得する

function getOneColumnValues() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var range = sheet.getRange("A1:A");
  var values = range.getValues();

  for (var i = 0; i < values.length; i++) {
    var value = values[i][0];
    Logger.log("A列の値は: " + value);
  }
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0