Driveフォルダの色付けミスを変更前に確認|GASで対象と色をdry-run監査

Driveフォルダの色付けミスを変更前に確認|GASで対象と色をdry-run監査

ツールおじ|GoogleアカウントをAIエージェント化

ツールおじ|GoogleアカウントをAIエージェント化

フォルダを色分けしたいのに、似た名前の別フォルダまで変更しそうで怖い。そんな作業の前に、対象フォルダIDと指定色を一覧で確認できる無料GAS例です。初期状態では色を変更せず、実行予定だけをログへ出します。

先に知っておきたいこと

  • `DRY_RUN = true` を初期値にし、確認が終わるまで色を変更しません。
  • スプレッドシートのA列にフォルダID、B列に16進カラーコードを入力します。
  • フォルダ名は確認用に読み取りますが、フォルダ内のファイルや権限には触れません。
  • 実変更にはApps Scriptの「サービス」からDrive APIを追加する必要があります。

準備するシート

  • シート名: `色分け計画`
  • A列: DriveフォルダID
  • B列: 色(例 `#1A73E8`)
  • 1行目は見出し、2行目以降に検証用データを置きます。

コピーして使える最小コード

const DRY_RUN = true;
const SHEET_NAME = '色分け計画';
const MAX_ROWS = 100;

function auditDriveFolderColorPlanFree() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME);
  if (!sheet) throw new Error('シート「' + SHEET_NAME + '」が見つかりません');

  const lastRow = sheet.getLastRow();
  if (lastRow < 2) throw new Error('確認する計画行がありません');
  const rowCount = lastRow - 1;
  if (rowCount > MAX_ROWS) throw new Error('100行を超えています。範囲を分けてください');

  const values = sheet.getRange(2, 1, rowCount, 2).getDisplayValues();
  const seen = new Set();
  const plans = [];
  const issues = [];

  values.forEach((row, index) => {
    const rowNumber = index + 2;
    const folderId = String(row[0] || '').trim();
    const color = String(row[1] || '').trim().toUpperCase();
    if (!folderId) return issues.push({ row: rowNumber, type: 'フォルダID未入力' });
    if (!/^#[0-9A-F]{6}$/.test(color)) return issues.push({ row: rowNumber, type: '色形式エラー' });
    if (seen.has(folderId)) return issues.push({ row: rowNumber, type: 'フォルダID重複' });
    seen.add(folderId);

    try {
      const folder = DriveApp.getFolderById(folderId);
      plans.push({ row: rowNumber, folderId, folderName: folder.getName(), color });
    } catch (error) {
      issues.push({ row: rowNumber, type: 'フォルダ取得不可' });
    }
  });

  console.log(JSON.stringify({ dryRun: DRY_RUN, plans, issues }));
  if (issues.length) throw new Error('入力エラーがあります。ログを確認してください');
  if (DRY_RUN !== false) return;

  plans.forEach(plan => Drive.Files.update({ folderColorRgb: plan.color }, plan.folderId));
}

実行手順

1. 検証用スプレッドシートへ「色分け計画」シートを作ります。

2. 少数のテスト用フォルダIDと色を入力します。

3. Apps Scriptへコードを貼り、Drive APIをサービスへ追加します。

4. `DRY_RUN = true` のまま `auditDriveFolderColorPlanFree` を実行します。

5. ログのフォルダ名、色、入力エラーを人が照合します。

6. テスト用フォルダでのみ `DRY_RUN = false` にして再実行し、結果を確認します。

7. 確認後は再び `DRY_RUN = true` に戻します。

失敗しやすい点と停止条件

  • シートなし、計画行なし、100行超、ID重複、色形式不正では停止します。
  • アクセス権がないフォルダや削除済みフォルダは変更しません。
  • 共有ドライブでは権限や組織設定により更新できない場合があります。
  • 色の見え方は画面やテーマによって異なるため、重要な分類は名前や台帳でも管理してください。
  • このコードはファイルの移動・削除・共有設定変更を行いません。

公開前チェックリスト

  • `DRY_RUN = true` で対象名と色を確認した
  • フォルダIDの重複と空欄がない
  • 16進カラーコードが6桁である
  • 少数のテスト用フォルダで実変更を確認した
  • 変更対象の権限と運用ルールを確認した

まとめ

Driveフォルダの色分けは、色を付ける処理よりも対象IDの取り違えを先に防ぐことが大切です。まずdry-runでフォルダ名と指定色を照合し、少数のテスト対象から段階的に適用してください。

DriveFileList Pro|Google Driveのファイル一覧化GASテンプレを見る

GasおじのTips商品一覧を見る

※学習・検証用の例です。実データへ適用する前にコピー環境やテスト用フォルダで確認してください。Google公式・Google公認の商品ではありません。


あなたも記事の投稿・販売を
始めてみませんか?

Tipsなら簡単に記事を販売できます!
登録無料で始められます!

Tipsなら、無料ですぐに記事の販売をはじめることができます Tipsの詳細はこちら
 

この記事のライター

ツールおじ|GoogleアカウントをAIエージェント化

おう、Gasおじだ。 AIツールとSaaSに散々突っ込んで遠回りした結果、最後に強かったのは「今あるGoogleアカウント」だった。 今ではAIエージェントであらゆるタスクを自動化して無双してるぞ。 GAS、スプレッドシート、フォーム、Gmail、AIエージェントを組み合わせれば、個人でも小さな会社でも、手作業だらけの業務はかなり自動化できる。 ここでは机上のAI論じゃなく、現場で動くテンプレ、コード、手順だけを置いていくぞ。 高いツールを増やす前に、まずお前さんのGoogleアカウントを仕事するエージェントに変えようじゃないか。

このライターが書いた他の記事

  • Gmailの定型連絡を「送信せず」まとめて下書き化する|Gmail下書きテンプレGAS Pro

    ¥2,980
    1 %獲得
    (29 円相当)
  • あとで見るURLを二重登録しない|GASで読書・動画ウォッチリストをdry-run監査

  • X投稿の重複を出す前に止める|GASで投稿キューをdry-run監査

関連のおすすめ記事

  • Gmailの定型連絡を「送信せず」まとめて下書き化する|Gmail下書きテンプレGAS Pro

    ¥2,980
    1 %獲得
    (29 円相当)
    ツールおじ|GoogleアカウントをAIエージェント化

    ツールおじ|GoogleアカウントをAIエージェント化

  • 【Python】 Con-Que 【データベース接続】

    ¥3,000
    1 %獲得
    (30 円相当)
    GoGorilla

    GoGorilla

  • USBメモリで持ち運べるLinux Mint 22.1と永続的な書き込み領域の作成法【Rufus だけで作成する方法を初心者向けに徹底解説】

    ¥500
    1 %獲得
    (5 円相当)
    SmartSenior

    SmartSenior