【Excel】ソースコードをエクセルに貼り付ける方法(シンタックスハイライトあり、なし)

Last Updated on 2023年10月18日 by らくろぐ

はじめに

仕事がら、ソースコードをもとにドキュメントを起こすことは良くあります。時には資料がソースコードのみ、、、ということも。

シーケンス図やアクティビティ図を描いたり、状態遷移表を描くにはやはりおエクセルが便利だなと感じています。エクセルはモジュール単位で章立てするときに分割しやすく(シート分けしやすい)、エクセルをドキュメントのオフィシャルとしているプロジェクトにも複数参加したことがあります。(最近はDoxygenなどでソースコードから自動で出力する手法も増えてきていますが。)

想定される二つのケース

シンタックスハイライトが引き継がれる

ドキュメント化する際に、ソースコードをそのままコピペすると、シンタックスハイライト(色付きの書式)などがそのまま引き継がれて貼り付けられてしまう場合があります。

シンタックスハイライトを維持したまま引き継ぎたい

一方、コメントなど記入されたソースコードをエクセルにコピーすると、シンタックスハイライトの体裁が壊れてしまう場合もあります。こちらも意図しない場合はストレスになりますね。

VisualStudio CodeからExcelへソースコードのコピーする際、自分の意図した形にするには、どちらのケースもひと手間かけることで変換できる、裏ワザのようなものをまとめましたのでご紹介します。

シンタックスハイライトが引き継がれてしまう事象とは。

例として以下のようなコードがあるとします。

static IsAns= false;
void testfunc(int a, char b){

    int num;
    bool isComp = false;

    if(a == 0){
        isComp = true;
    }else{
        if(b > 100){
            isComp = true;
        }
    }
    IsAns = isComp;
}

VisualStudio Codeで記述すると以下のように見えます。

シンタックスハイライトによって、変数や条件文などを色が付き、開発中のソースコードは見やすい形になります。

しかし、これをこのままコピペしてエクセルに貼り付けると以下のような形に見えることになります。

文字が見にくい

このままではドキュメントとして持ってくるには少し見づらいと思います。また、タブも思うような位置に入っていないため、セル一つ一つを修正する必要があります。

これらを簡単に直す裏ワザが次にあげる方法です。

裏ワザ コードを一旦VBAに貼り付ける

【手順1】VBAを起動し、関数を貼り付ける

まず、これらのコードを一旦VBAのコードに貼り付けます。

「開発」タブ→「コードの挿入」を実行し、VBAを起動。

以下のGeneral関数のところに貼り付けます。

【手順2】VBA上のコードを一旦コピー

再度以下の部分をコピーします。

【手順3】コピーした部分を再度エクセルに貼り付ける

貼り付けた部分を再度エクセルに貼りなおします。

ひと手間必要ですが、ちょっと覚えておくと便利かなと思います。

シンタックスハイライトを正しく引き継いでコピーする

シンタックスハイライトを正しく引き継ぐ方法ですが、現状、VS Codeから直接コピーすることで維持されるようです。この場合Excel2021になります。

過去には一旦Wordへコピーするなどひと手間が必要でしたが、最新ではそのまま維持されていることがわかりました。

【手順1】ソースコードのコピー

こちらもいったんVS CODEからコードをコピーします。

【手順2】Excelへコピー&ペースト

あとは一部を整列することでほとんどそのままシンタックスハイライトを使えるようです。

Excelにソースコードを貼り付ける方法 まとめ

Excelにソースコードを貼り付ける際に、シンタックスハイライトを引き継ぐ方法、引き継がないようにする方法について例を挙げて紹介しました。

VBAを使って関数をコピーするなど、ちょっとした裏技要素もありますが、ドキュメントを見やすくするための方法として、是非活用していただければ嬉しいです。