miauのブログ

はてなダイアリー「miauの避難所」をはてなブログに移行しました

Excel の罫線詳細表示アドインを作ってみた

ということで、前項 の続き。

個別のセルがどういう罫線情報を持っているか表示するための Excel のアドインを作ってみました。

完成品

どこで公開するか結構迷ったんですが、ひとまず Dropbox に置いています。.xls や .xla の共有に適したリポジトリをご存じな方は教えて下さい・・・。

動作環境

Office 2003 で動作を確認しています。Office 2010 では

  • アドインファイル中の罫線セルがうまくコピーできない
  • 行の挿入時の挙動が不安定

という問題があり、動作しませんでした・・・。

インストール方法

ダウンロードした .zip ファイルを解凍して、罫線詳細表示.xla をアドイン用のパス(%APPDATA%\Microsoft\AddIns)にコピーします。

ファイルの配置後に Excel メニューの「ツール(T)」→「アドイン(I)」でアドインの一覧を表示し、「罫線詳細表示」にチェックを入れるとインストールされます。

使用方法

アドインをインストールすると

「罫線詳細表示」メニューが増えているはずなので、そこから「罫線詳細表示(I)」「罫線詳細表示解除(D)」どちらかを選択します。

罫線詳細表示

すべてのセルの間に罫線のようなセル(以降の説明では罫線セルと呼んでいます)を挿入します。

前回のアイテムで散々でてきましたが、

このようなセルがある状態で実行すると、

このようにセルの間が分離されるので、各セルに設定された罫線情報が見やすくなります。

この状態で罫線を修正して・・・

「罫線詳細表示解除」で元の状態に戻す運用を想定しています。「罫線詳細表示解除」すれば罫線セルはすべて消えますので、この例のように罫線の設定情報が罫線セルにはみ出しても気にしなくてよいですし、奇数行/列=罫線セルのルールを守っていれば、列の追加/削除を行っても問題ありません。

罫線詳細表示解除

「罫線詳細表示」で挿入した罫線セルを削除します。

  • 単純に奇数行/列を削除する動作になっています。
  • 行/列がずれてしまった際に誤ったセルを消してしまうのを防止するため、セルの高さ/幅が想定と異なる場合は削除しないようにしています。
    • 逆に、罫線セルの幅を変更してしまうと「罫線詳細表示解除」では削除されませんのでご注意ください。

その他注意事項等

  • 行の挿入や削除を行いますので、データが壊れてしまう可能性もあります。罫線の挿入/削除前に必ずファイルを保存してください。
    • 単純な表であれば罫線の挿入→削除で情報が失われることは無いはずですが、コメントの位置がずれる現象が見られましたので、ご注意ください。
  • すべての行/列の間に罫線の行/列を挿入する仕組みのため、Excel 制限値の半分の領域に収まっているシートでないと使えません
    • 32768 行以上あるシートや、128 列以上ある(DX 列以降にデータがある)シートではエラーになります。
    • 選択範囲のみ罫線セルを挿入するコマンドを用意してもいいかもしれませんが、私は今のところ対応する予定はありません。
  • 何度も罫線の挿入/削除を繰り返すと、内部的に最大行/列が増加していき、元々上記の範囲に収まっているシートでも罫線の挿入に失敗することがあります。一度ファイル保存することで解決できますので、こまめに保存してください。
  • 特にパスワードもかけてないので、好みに合わせて編集して使ってください。シートを編集したいケースもあるかもしれませんので、.xla の元になった .xls も .zip に含めてあります。
  • イベントの無視やアイコン等の設定を行うコードは、下記サイトで公開されているクラスをそのまま利用しました。
      • -

仕事の合間につい気になって進めてしまったこのタスクも、これで一段落。ようやく仕事に集中できる・・・といいんだけど。