VBA

VBA for Excel



XlBookCover Ver.2

Excelで作業を進めていくと、ブックがごちゃごちゃ増えていって どれを開けばよかったのか分かりづらくなることがありますね。 ブック間の参照があったり、作業してから時間が経ってしまったりすると 必要なファイルを探すのが非常に面倒です。 ReadMeファイルを作っておくのが一番手っ取り早いのですが、 いちいち確認しながら探すのも面倒です。

このBookCover(表紙)ファイルを作業フォルダに置いて作業ブックを登録しておけば、 必要な全てのブックを簡単に開くことができます。 登録したブックについては、参照関係を一望できるシートの一覧を作成することができます。

使用方法

○ 登録ブックのオープン

BkCover.xlsファイルは作業フォルダのルートに置きます。 (このブック名やシート名は適当に変更しても構いません。) [Open Books]ボタンをクリックすると、 下のリストに列挙したブックを開きます。

ブック名のリストは「Book Name」〜「End List」の間に記述します。 この範囲内であれば、行の挿入、削除は自由に行えます。 また、このリスト範囲内で右クリックすると、 その行のボールド(太字)が切り替えられます。 ボールドをOFFにしたファイルは、処理をスキップします。

このブック名リスト内の「Book Name」等のフィールドタイトルは、 プログラム中で参照しているので変更しないでください。

サブフォルダ内のブックを登録する場合は、 「Folder」フィールドにフォルダ名を入力してください。 空白であれば、BkCover.xlsと同じフォルダ内から開きます。

「Updatelinks」フィールドには、 ブックを開くときにリンクを更新するかどうか(TRUE or False(=Blank))を入力します。 False(or空白)であれば、リンクを更新せずに開きます。

「Note」フィールドは、プログラムからは 参照しないのでどのように利用しても結構です。

注1)
リストに記述されているのと同じ名前のファイルが既に開かれていると、 新たに開くか問い合わせずに自動的に処理をスキップします。


注2)
一部のファイルに変更を加えてから残りのファイルを開こうとすると、 ファイル間リンクにエラーが生じる場合があります。 ファイル間リンクがありそうなファイルははじめから全て開いた状態で 作業を行うことをお勧めします。

○ シートインデックスの作成

[Renew SheetsIndex]ボタンをクリックすると、 登録されているブック内のシート一覧を[SheetsIndex]シートに作成します。

シートインデックスの作成後、続いて各シートのリンク状況を分析します。 シート名の左側の[>]マークには、参照元シートへのリンクが張られます。 右側の[>]マークには、参照先シートからのリンクが張られています。 ワークシート分析ツールを利用すれば、参照元/参照先をたどることができます。

登録外のブックを参照している場合は、[External]フィールドに参照元のブック名が表示されます。

注1)
更新する際に[SheetsIndex]シートをすべてクリアするため、 メモなど必要な情報がある場合は別のシートにコピーを取っておいてください。


注2)
ワークシートの直接参照、名前での参照の検索を行います。 書式やスタイルのリンク、図中のリンクは検索しません。


注3)
ブックのサイズが大きいと、非常に時間がかかる場合があります。 気長にお待ちください。進行状況ダイアログボックスを閉じることで、途中キャンセルも可能です。
注意事項

Office2000,XPの場合は[ツール]-[マクロ]-[セキュリティ]から セキュリティダイアログボックスを呼び出し、セキュリティーレベルを[中]に設定してください。 ファイルを開くときに、マクロを有効にするか問い合わせがあるので [マクロを有効にする]を選択してください。

実際に使用する前にテストを行って、 どのように動作するのか把握しておいて下さい。 いろいろなパターンでリンクを張ったサンプルを用意しました。 テストにご利用ください。

なお、本プログラムによってどのような障害が出たとしても、 作者は一切の責任を負いません。

Download

クリックしてファイルに保存して下さい。 lzh形式で圧縮してあるので、lhasaなどで解凍してください。

--->BkCover.lzh (BkCover本体のみ)
--->BkCoverSample.lzh (book0.xls〜book4.xlsのテスト用サンプル付き)

最後に

他にもいろいろ作業中のツールがありますので、 完成したら追加して行きます。 「こんな機能が欲しい」というようなご希望が あればメール・BBSでお知らせ下さい。



Program Top