5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【発想の転換・・・ならず】Excel設計書に新たな可能性を見出した。htm 保存で良いんじゃないですか?と思ったら駄目だった。

Posted at

設計書作成ツールの現状は?

システム開発時に設計書を作成していますか?そのとき何のツールを使っていますか?
おそらく下記のいずれかではないでしょうか。※調査したわけではなくQiita記事を読んだ印象と経験と独断です。

・Excel
・Word
・Markdown記述(VS Codeで書くのかな?)

私はExcelを使っています。便利ですよね、直感的にかけて編集の自由度も高く、絵も自由に貼れる。
実績もあるし、どのPCにもインストールされていることがほとんど。
しかしQiitaの記事を調べると以下の論調があります。

Excelによる設計書を止めたい

Excelによる設計書を止めたい理由

理由はGitなどのバージョン管理ツールで管理しづらいからです。一番多い理由です。これはWordも同じです。

Excelの保存ファイル拡張子である「xlsx」はバイナリファイルです。
そのためバージョン管理ツールに入れることはできますが、変更毎にリポジトリのデータ量が急激に増えるのです。
例えば10MBのExcelファイル内に誤字があって一文字変えた場合でも、バージョン管理ツールで差分を取ると10MB分全部変更があるとみなされてしまうのです。

またバージョン管理ツールを使えないため、変更場所の特定もできません。
※他にも理由があるかもしれませんが、それは今回置いておきます。

新たな可能性→「xlsx 保存をやめて、htm 保存をしましょう」

諸悪の根源は「xlsx」がバイナリであることです。
それならば「xlsx」を止めましょう。その代わりに以下にしてしまえば良いのではないでしょうか。

・Excelを「xlsx」では保存せずに「htm」で保存する。
・Excelで「htm」を直接編集する。

htmはテキストデータです。
バージョン管理ツールと相性が良いです。
Excel内の絵もpngとして別フォルダに格納され、リンクも保持されます。

Excelで「htm」編集できるの? → めっちゃ簡単です。

これは実際にやってみたほうが良いでしょう。以下はExcel 2016で行ったものです。
まずは以下のような既存のxlsxファイルをhtmに変換しましょう。

image.png

ファイル→名前を付けて保存→「このPC」でダブルクリック

image.png

ファイルの種類から「Webページ」を選ぶだけです。

image.png

こんな感じでhtmファイルとfilesフォルダが作成されます。
filesフォルダには絵のファイルやシートが入っていますね。

|image.png|
|:-:|

|image.png|
|:-:|

一度Excelを閉じてから、再度Excelを開いてこの作成されたhtmを開いてみましょう。
どうでしょうか。xlsxとの違いは背景のグリッド線ぐらいですね。なんとシートまで再現されています。

image.png

もちろん編集もできます。やってみましょう。
以下のように作成日を変えたり、4~11行目を色々変えてみました。普通のExcel操作と一緒の感覚で編集できます。
一点注意、「A起動」等のボタンはpngの絵として取り込まれているため、この文字列を変えることはできません。

image.png

ここまでで使える可能性は感じていただけたと思います。
ただ、実は致命的な落とし穴があったのです。大変残念です。

htm保存の落とし穴ありますか? → 致命的なやつ、あります。

落とし穴は、画像ファイルのファイル名が保存するたびに代わることです。
まず現在の画像フォルダ内のファイルが以下だとします。

|image.png|
|:-:|

そしてExcel上でただ「上書きボタン」を1回押します。すると以下になります。
img002が005に変化し、それ以外にもちょこちょこと変わっています。実に謎な現象です。
この動きのせいで希望は絶望へかわりました。私のワクワクを返せ!

|image.png|
|:-:|

それ以外にも、htmファイルの中身が結構変わってしまっています。
謎の暗号があり、それがごっそり変更されて結局差分量が大きいです。
下図はGitではなく、Mercurialでバージョン管理した時の差分の絵です。
右下が謎の暗号。先頭に「-」がついているのは、これは以前のバージョンから削除されたことを意味します。

image.png

落としどころ → 絵をほとんど使わないなら良い方法でしょう。

以下のように、絵がないExcelでhtmの差分を見てみました。
以前はボタンを表すのにExcelの図形を使っていましたが、今回は罫線とセルの色塗りだけです。

image.png

その時のMercurialによる差分は以下です。
前のような意味不明な暗号文は消えました。良かった。ただちょとした変更でもちょこちょこ差分が出てしまっています。
絵の中央下のバーで紫に塗られた部分が変更部分です。意外と多いな。ただテキストの差分なら大したデータ量にはならないでしょう。

image.png

htm保存のExcel設計書としての使い道

Excelに絵を含めない場合はとても良い方法です。
なぜならExcelによる柔軟な編集機能を使いつつ、バージョン管理ツールでも管理しやすいためです。いいとこどりです。
まさにドラゴンクエスト2の「破壊のハヤブサの剣」レベルの強力な方法です。
さらに、参照したいだけの人はブラウザでブックマークに登録するだけでExcelロックなしで簡単に確認できます。

逆にExcelに絵を使う場合はお薦めしません。絵ファイルの管理でバージョン管理でデータの肥大化が起こるためです。

試したい方はどうぞお使いください。
ちなみにhtmからxlsx保存もできるようです。どこまでうまくいくかは未知数です。

5
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?