【Office Scripts】Excel のテーブルをマークダウン形式のテキストに変換する

「マークダウンで書かなきゃいけないけど、マークダウン形式のテーブルの書き方になかなか慣れない…テーブルはやはり慣れ親しんだ Excel で書きたい!」と思い、 Office Scripts を利用して、Excel のテーブルをマークダウン形式のテキストに変換するコードを作成してみました。マークダウン形式に変換されたテキストは、[出力] タブから確認できます。

以下は、マークダウン形式に変換されたテキストのサンプルです。

|果物名|値段|賞味期限|在庫|商品ページへのリンク|備考|
|---|---:|---:|:---:|---|---|
|**りんご**|¥100 |2023/10/31|*在庫あり*|[りんごについて](https://dummy/)|甘くて美味しい!|
|**バナナ**|¥80 |2023/11/5|*在庫なし*|[バナナについて](https://dummy/)|イチオシ!|
|**みかん**|¥120 |2023/10/29|*在庫あり*|[みかんについて](https://dummy/)|ビタミンCが豊富!|
|**ぶどう**|¥150 |2023/11/10|*在庫なし*|[ぶどうについて](https://dummy/)|皮ごと食べられます。|
|**いちご**|¥200 |2023/10/30|*在庫あり*|[いちごについて](https://dummy/)|デザートに最適です。<br />パフェにどうですか?|

Office Scripts のコード

作成した Office Scripts のコードは次の通りです。

利用方法

  1. テーブルの作成:まずは、Excel のシート内に変換対象のテーブルを作成してください。

  2. 列名の編集:変換後、列の値を左揃え、中央揃え、右揃えで表示されるように設定したい場合、列名の最後に次のテキストを追加してください。

    • 左揃え: _left
    • 中央揃え: _center
    • 右揃え: _right

      追加した後ろの文字(_left, _center, _right)は、変換する際に削除され、変換後のテキストには含まれません。また、追加しなかった場合は、左揃えになります。
  3. スクリプトの作成:Excel のテーブルを マークダウン形式のテキストに変換するスクリプトを作成します。スクリプトは、リボンメニューの [自動化] > [新しいスクリプト] から作成できます。新しいスクリプト作成後、コードエディターに、上記に掲載されているコードをコピー & ペーストしてください。

  4. スクリプトの実行:コードエディター内にある [実行] ボタンから、スクリプトを実行してください。実行が完了すると、[出力] タブに マークダウン形式に変換されたテキストが表示されます。

  5. スクリプト名の変更・保存:もし継続してこのスクリプトを利用したい場合は、任意のわかりやすい名前に変更し、保存してください。

    保存すると、リボンメニューの [自動化] > [Office スクリプト] セクションに保存したスクリプトが表示されます。

補足

  • Excel のテーブル上でフィルターをしていても、そのフィルターは変換には適用されません。フィルターされて表示されていないデータを含むテーブルすべてのデータが変換されて、出力されます。
  • 行・列の非表示も同様です。行や列を非表示にしていてもその非表示は適用されず、非表示にしている行や列も変換対象となり、出力されます。
  • [2023/10/23 追記] 表示されているデータのみ、マークダウンテキストに出力されるように修正しました。フィルター等で非表示になっている行や列は、マークダウンテキストに出力されません。
  • アクティブシート内に複数のテーブルがある場合、マークダウン形式に変換された各テーブルが、改行区切りで出力されます。
  • セルに文字の書式(太字や斜体、打ち消し線)を設定していた場合、変換後もその書式が適用されます。
  • ハイパーリンクの表示も対応しています。