Skip to content

dilander/gas-sheet-tools

Repository files navigation

gas-sheet-tools

Google スプレッドシートのデータを Markdown エクスポート差分ハイライト自動バックアップ する Google Apps Script ツール集。

機能

Markdown エクスポート

スプレッドシートの全シートを Markdown 形式に変換し、Google Drive の export フォルダにテキストファイルとして出力する。

  • 1列目をタイトル(H3)、2列目以降をリスト項目として変換
  • 列名による特殊処理:
    • Markdown を含む列 — 見出しレベルを H4 基準にオフセット調整
    • Python / Handlebars / Mermaid を含む列 — コードブロックで囲んで出力
    • 無視 を含む列 — エクスポート対象から除外
  • エクスポート完了後にダウンロードリンクをダイアログ表示

差分ハイライト

セル編集時にバックアップと比較し、変更箇所を文字単位で青字ハイライトする。

  • ヘッダー行(1行目)は別配色でハイライト
  • バックアップ値はスクリプトキャッシュから高速取得(キャッシュミス時はファイルからフォールバック)

自動バックアップ(ナイトリービルド)

時間主導型トリガーにより定時実行される。

  1. Markdown エクスポート
  2. 全シートの文字色・背景色を初期状態にリセット
  3. 既存バックアップを削除し、現在のスプレッドシートをコピー
  4. バックアップ ID とシートデータをスクリプトキャッシュに格納

ファイル構成

ファイル 責務
Config.js 共通定数(CONFIG オブジェクト)・ヘルパー関数
Export.js Markdown エクスポート機能
Handlers.js セル編集時の差分ハイライト
Menu.js カスタムメニュー登録・バックアップキャッシュ準備
NightlyTasks.js 定時バッチ(エクスポート+バックアップ)

セットアップ

前提条件

  • clasp@google/clasp)がインストール済みであること
  • Google Apps Script API が有効であること

手順

  1. リポジトリをクローン
  2. clasp login で Google アカウントに認証
  3. .clasp.json にスクリプト ID を設定
  4. clasp push でスクリプトをデプロイ

トリガー設定

スプレッドシートの「拡張機能 > Apps Script > トリガー」から以下を設定する:

関数 イベント
handleOnOpen スプレッドシートを開いた時
handleInstalledEdit スプレッドシートの編集時
nightlyBuild 時間主導型(例: 毎日午前4時)

使い方

スプレッドシートを開くと「🛠️ ツール」メニューが表示される。

  • Markdown エクスポート実行 — 全シートを Markdown に変換して Drive に保存
  • バックアップ更新(差分リセット) — 差分ハイライトをリセットしバックアップを更新

デプロイ

clasp push    # ローカル → GAS
clasp pull    # GAS → ローカル

About

Google スプレッドシートのデータをMarkdownエクスポート・差分ハイライト・自動バックアップするGoogle Apps Scriptツール集

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors