見出し画像

GASで大谷選手が使っていたマンダラチャートを作るコードを作ってみた


マンダラチャートのフォーマットをGASで作る

マンダラチャートを調べてみたところ、ダウンロードサイトはありましたが、登録必要とかクソ面倒だったので、GASで作りました。
へんなダウンロードサイトに登録してしまうと、そこが闇バイトの入口の可能性があります。
A4縦でピッタリのサイズです。

GASとは

GASは簡単に言えばグーグルが提供しているプログラミング言語です。無料で利用できます。

マンダラチャートのサンプルコード

GASをある程度知っている方…下のコードをコピペすれば完了です。
GASをあまりよく分からない方…コードの下に説明を詳しく入れています。ご参照ください。

function onOpen() {
  const ui = SpreadsheetApp.getUi();
  ui.createMenu('マンダラチャート')
    .addItem('チャートを生成', 'generateMandalaChart')
    .addToUi();
}

function generateMandalaChart() {
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  
  // シート重複があれば数字を変化させて作成
  let sheetName = "マンダラチャート1";
  let sheet = spreadsheet.getSheetByName(sheetName);
  let sheetIndex = 1;
  while (sheet) {
    sheetIndex++;
    sheetName = "マンダラチャート" + sheetIndex;
    sheet = spreadsheet.getSheetByName(sheetName);
  }
  sheet = spreadsheet.insertSheet(sheetName);
  spreadsheet.setActiveSheet(sheet);
  sheet.clear(); // シートをクリア

  // A1とA2
  sheet.getRange("A1").setValue("マンダラチャート").setFontSize(14).setFontWeight("bold");
  sheet.getRange("A2").setValue("中央のテーマから関連する8つのアイデアを展開して目標や課題を整理します。");

  // C5にタイトル
  sheet.getRange("A5").setValue("タイトル:").setFontSize(14).setFontWeight("bold");

  // A17とA18
  sheet.getRange("A17").setValue("目標設定日:   年   月   日").setFontSize(12).setFontWeight("bold");
  sheet.getRange("A18").setValue("MEMO").setFontSize(12).setFontWeight("bold");

  // マンダラチャートの開始位置をA7
  const startRow = 7;
  const startCol = 1;

  // 6行目の高さを通常に設定
  sheet.setRowHeight(6, 21); // 通常

  // 行の高さと列の幅を設定(A7からI15)
  for (let row = 0; row < 9; row++) {
    sheet.setRowHeight(startRow + row, 100); // 各行の高さを100ピクセル
  }
  for (let col = 0; col < 9; col++) {
    sheet.setColumnWidth(startCol + col, 100); // 各列の幅を100ピクセル
  }

  // マンダラチャート作成
  for (let row = 0; row < 9; row++) {
    for (let col = 0; col < 9; col++) {
      const cell = sheet.getRange(startRow + row, startCol + col);
      cell.setBorder(true, true, true, true, true, true);  // 罫線
      cell.setHorizontalAlignment("center").setVerticalAlignment("middle"); // 中央揃え

      // 色の設定
      if ((row === 4 && col === 4) || (row % 3 === 1 && col % 3 === 1)) {
        cell.setBackground("#E0E0E0"); // 中心セルを薄い灰色に設定
      }
      if (row >= 3 && row <= 5 && col >= 3 && col <= 5 && !(row === 4 && col === 4)) {
        cell.setBackground("#F2F2F2"); // D9~F11の周囲をさらに薄い灰色に設定
      }
    }
  }

  // メッセージ表示
  SpreadsheetApp.getUi().alert("マンダラチャートが生成されました。印刷時に「A4縦」を選択してください。");
}

GASの基本から

Dドライブにアクセスして、スプレッドシートを開きます。
拡張機能からAppScriptを選択します。

下のような画面が出てきたら、function myfunctionと書かれている部分をすべて消します。

次に上記のコードをすべて選択して貼り付けます。
保存を押し、実行を押します。

以下、赤印で囲んだところを選択

実行ログに実行完了と表示されたら、スプレッドシートを見て下さい。
カスタムメニューという項目が増えています。このファイルを開けば、次回以降も表示されます。他のファイルには影響はありません。
チャートを生成を選択すれば完成です。

備考

ファイルのリンクを貼れば簡単ですけど、自分がそれを嫌いなので、コードにしています。

いいなと思ったら応援しよう!