Driveフォルダの色付けミスを変更前に確認|GASで対象と色をdry-run監査
ツールおじ|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公認の商品ではありません。
