ぼんやりDTP

DTPに関係したりしなかったりするぼんやりとした話をなんとなく。

Google Apps Script(GAS)で Spreadsheet の操作

Google Apps Script(GAS)で Spreadsheet を操作したいのでメモ。

  1. /** @OnlyCurrentDoc */は関連付けられたドキュメントにのみ動作する。
  2. デバッグ用のその場限りのようなログはLogger.log()を使用する。
  3. ドキュメントに関連付けられたスクリプトはドキュメントを削除すると、スクリプトも削除される。
  4. シートのズームを設定するようなメソッドはない模様。
  5. ワークブック内のセル数の制限は 5000000(500万)まで。
    • エラーメッセージの例:「Exception: この操作を行うと、ワークブック内のセル数が 5000000 の制限を超えてしまいます。」

関連URL

  1. Apps Script - 自分のプロジェクト

Excelとの対応

Excel Spreadseet GAS のクラス
ブック ワークブック Spreadsheet
シート シート Sheet

サンプル

関連付けられたスプレッドシートの「テンプレート」シートをその右側に複製し、その日付の名前をつけて、「A2」セルに日付を記入する。

/** @OnlyCurrentDoc */

function insertNewSheetOfTodayAndSetDate() {
  var templateSheetName = "テンプレート";
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var templateSheet = ss.getSheetByName(templateSheetName);
  var currentDate = new Date();
  var todayString = Utilities.formatDate(currentDate,"JST","yyyy-MM-dd");
  
  var newSheet = ss.getSheetByName(todayString);
  if (newSheet == null) {
    try {
      newSheet = ss.insertSheet(todayString, templateSheet.getIndex(), {template: templateSheet});
    } catch(e) {
      Logger.log(e);
      return;
    }
  }
  newSheet.activate();

  var dateCell = newSheet.getRange(2, 1);
  if (dateCell.getValue() == "") {
    dateCell.setValue(todayString);
  } else {
    Logger.log(dateCell.getValue());
  }
}

トラブル関連

https://script.google.com/」を開こうとするとエラーが起こるトラブルがある。

解決方法は不明。

エラーメッセージの対訳:

英語 日本語 ドイツ語
Something went wrong エラー Fehler
Please reload the page to try again. ページを再読み込みして、もう一度お試しください。 Aktualisieren Sie die Seite, um es noch einmal zu versuchen.
DISMISS 閉じる SCHLIESSEN
RELOAD 再読み込み AKTUALISIEREN

関連URL

  1. Troubleshooting  |  Apps Script  |  Google Developers

  2. G Suite サポートへのお問い合わせ - G Suite 管理者 ヘルプ

  3. G Suite Status Dashboard

  4. The Apps Script Dashboard  |  Apps Script  |  Google Developers

    1. The Apps Script Dashboard  |  Apps Script  |  Google Developers
  5. Apps Script Dashboard Issues: All - Issue Tracker

  6. Something went wrong when accesing script.google.com [113123489] - Visible to Public - Issue Tracker

  7. No access to "My Projects" and "All Projects". [122881607] - Visible to Public - Issue Tracker
  8. Something Went Wrong [121092508] - Visible to Public - Issue Tracker

参考ページ

  1. Overview of Google Apps Script  |  Apps Script  |  Google Developers
  2. Extending Google Sheets  |  Apps Script  |  Google Developers
  3. Class Spreadsheet  |  Apps Script  |  Google Developers
  4. Class Sheet  |  Apps Script  |  Google Developers
  5. Logging  |  Apps Script  |  Google Developers
  6. Class Utilities  |  Apps Script  |  Google Developers)

  7. Google Apps Scriptで日付を指定フォーマット文字列に変換する | Macちゃん

  8. Google Apps Script で Spreadsheet にアクセスする方法まとめ - Qiita

  9. Google Apps Script 実践メモ(スプレッドシート) - Qiita

  10. In Google sheets how can I Script the manipulation of the default Zoom? - Stack Overflow

  11. Google ドライブに保管可能なファイル - Google ドライブ ヘルプ

  12. Excel の仕様および制限 - Excel

  13. Excel 2011 の仕様と制限 - Excel for Mac