1999年3月第3週 Excel 向上委員会 その1


ワークシートを探しやすくする


 先日、仕事で Microsoft Excel で作られたドキュメントを大量に引き継ぐという羽目になりました。しかも、その中には数十に及ぶワークシートが入っているものも少なくありません。
 シート名が日本語でつけられているため、わかりにくくはないのですが、目的の文書にたどり着くのに一苦労。
 Excel ではワークシートを一覧表示することができず、ワークシート名が表示されているタグ(「シート見出し」というらしい)をスクロールさせて一生懸命探すことになります。まさに右往左往...。

シート見出し

どうしたらワークシートが探しやすくなるか?

 じゃあどうやったら、ワークシートが簡単に探せるのか。
 方法として思いつくのは2通りあります。
   (1) ワークシートの検索機能を作る
   (2) ワークシートを一覧表示する
 最初の方法はワークシートの名前がわかっている場合は有効ですが、他人が作った文書の場合、名前がわかってるわけがありません。現実的には2番目の方法が有効でしょう。

Visual Basic for Aplication を使う

 Excel に機能を追加する方法として最も簡単なのは、 Visual Basic for Aplication (以後 VBA)を使ってプログラムを書くことです。
 VBA は、Microsoft の主力開発製品の一つである Visual Basic のサブセットで、Office 製品のほとんどで利用できます。
 VBA を利用すると Excel から利用できる機能をプログラムから制御することができ、必要に応じてカスタマイズされたダイアログを表示することも可能です。
 VBA を利用した場合のデメリットは、C++ 等と違って実行時にコンパイルされるため、速度が遅いこと、メモリを余分に消費することでしょうか。今回は大した機能ではないので、ここら辺は無視してかまわないでしょう。
あとは、プログラムコードが利用者に見えてしまうところでしょうか。まあ、気に入らないところをすぐに直せるというメリットもあるのですが。

ダイアログできあがったプログラムと使い方

 作ったプログラムを実行すると、下記のようなダイアログが表示されます。
 リストボックスにはワークシートの一覧が表示されています。
 このリストボックスからワークシート名をダブルクリックするか、ワークシートを選択して「選択」ボタンをクリックすることで、そのワークシートを選択状態にします。通常はワークシートが表示された状態ですね。
 さらに、このリストボックスはマルチセレクトに対応しています。つまり、CTRL キーや SHIFT キーを併用することで、複数のワークシートを選択することができます。この状態で「選択」ボタンを押すと、選んだシートが全て選択状態になります。
 これがいったい何の役に立つのかというと、任意のワークシートをまとめて印刷したりすることができるんですね。
 また、「選択」ボタンの代わりに「削除」ボタンを押すと、選択しているワークシートが削除されます。便利な機能ではありますが、まとめて消えてしまうので注意が必要です。Excel では一度削除したワークシートを復活させることはできませんからね。

追加した機能を常に利用するためには

ツールバー・ユーザー設定ダイアログ さて、この機能もすぐに呼び出せなければあまり意味がありません。
 そこで、ツールバーにこの機能を追加することにしました。
 ツールバーはユーザー設定を行うことで Excel で標準で用意されている機能以外の機能を割り当てることができます。
 Excel の「表示(V)」メニューの「ツールバー(T)」から「ユーザー設定(C)」を選択します。
 すると下のようなダイアログが表示されるので、「新規作成(N)」を選択して、新しいツールバーを作成します。

 この状態ではのっぺらぼうのツールバーができるだけです。機能を追加するために「コマンド」タブを選択し、分類から「マクロ」を選んで、新しく作ったツールバーにドラッグ&ドロップします。これでツールバーにマクロを起動するためのボタンができます。
 最後に、VBA をボタンに割り当てます。新しく作ったツールバーのボタンを右クリックして「マクロの登録」を選択し、先ほど作った VBA を指定すれば作業は終了。
 ボタンのアイコンを編集する機能もあるので、自分でデザインすればそれなりの見栄えのするツールバーにすることも可能です。私の場合はデザインセンスがないので、あまりパッとしないボタンになってしまいましたが。
 とりあえず、ここまででボタン一つで機能を呼び出すことができるようになりました。

作成したツールバー

 さて、VBA で作ったプログラムは、通常 Excel ファイル(ワークブックという)に保存されます。つまり、プログラムをいつも使えるようにするためには、プログラムのくっついたワークブックを常に開いた状態にしておかなければなりません。
 しかも、プログラムを呼び出すたびにプログラムのくっついたワークブックが表示されてしまい、あまり格好のいいものではありません。
 これを解決するために、Excel にはアドイン形式というファイル形式があります。これは今回作ったような機能を Excel に追加するためのもので、自動保存のように標準で用意されているものもいくつかあります。
 ワークブックをこの形式に変換するのは簡単。「ファイル(F)」メニューから「ファイル名をつけて保存(A)」を選び、保存ダイアログの「ファイルの種類」を「Microsoft Excel アドイン」にして保存するだけです。
 そうそう、ツールバーを作った場合、あらかじめ、ボタンをワークブックに添付しておく必要があります。
 ワークブックにボタンを添付するには、「表示(V)」メニューの「ツールバー(T)」から「ユーザー設定(C)」を選択し、「添付(H)」ボタンを押します。作ったツールバーを「登録ツールバー」へコピーします。これで作業完了。

 作ったアドインを他のマシンで使うのも大した手間はありません。
 まず、アドインファイルを Excel のライブラリディレクトリにコピーします。
 デフォルトでインストールした場合、
  C:\Program Files\Microsoft Office\Library
になっているはずです。NEC PC9801 シリーズの場合は、別のドライブになっている場合があるので、注意して下さい。
 アドインを使うには Excel を起動して、「ツール(T)」メニューから「アドイン(I)」を選択し、ダイアログで追加したアドインをチェックします。
 最後に、ツールバーを追加します。
 「表示(V)」メニューの「ツールバー(T)」から作成したツールバーを選択して作業完了。
 ツールバーのボタンを押してみて下さい。ダイアログが表示されるはずです。

ご自由にお使い下さい

 作ったプログラムはフリーウェアとして公開しますので、ご自由にお使い下さい。まあ、大したプログラムではありませんが。
 アドインは「ガラクタ置き場」のページにあります。

ということで、本日はこれまで。


トップページへ戻る  不定期 DOS/V 日記メニューへ戻る