2007年10月3日水曜日

第47回目 ちょっとした小物、印刷編

○第47回目 ちょっとした小物、印刷編

 印刷に関した便利機能を考えて見ます。
 すべではその人のニーズになりますが、こんなものもあるのかという程度でも参考になるかもしれません。

 どんなニーズがあるんでしょうかね…
 不評を買っているのですが、エクセルは非常に複雑でいろいろなものがあっという間に出来てしまうので、パス名またはファイル名は必須だと思っていますので、必ずフッタにパス名、シート名を表示するようにしています。見る人がみるとなんだこれとなってしまうのですが…。
 そこで、
 1.標準的なヘッダー、フッタを設定するという機能
 ほかにも、
 2.印刷において、ヘッダー、フッタなどを抑止・非抑止の選択ができる機能
 3.カラープリンタでの印刷か通常のプリンタでの印刷かの選択が出来る機能
 4.ページ番号を印刷するかどうかが指定できる機能
 5.複数のシートが一括で印刷できる機能
 6.一つのシート内の一部のページが印刷できる機能
 7.無条件に即印刷してしまう機能(ダイアログの表示がない)
 8.指定した範囲のみを印刷する機能
 9.印刷のダイアログを簡単に表示する機能(2007では若干面倒になった)
 10.プリンタの切り替え機能
 などが考えられます。

 これを有効性、可能性などから整備していけばいいのではないでしょうか。
 このうち、1,7,8,9は操作マクロそのものです。非常に簡単です。
 よく使うものについて、ショートカットキーをつけて有効活用しましょう。
 ショートカットキーの設定は、マクロの実行の指示の画面(Alt+F8の直後)で、オプションというキーから行ないます。Ctrl+及びCtrl+Shiftの二種類のキーセットが出来ます。1はヘッダーなのでCtrl+Shift+Hとか、7は印刷ですのでCtrl+Shift+Pとか、8は範囲はレンジですのでCtrl+Shift+Rとかです。
 他の機能と重ならないないように、覚えやすいように、設定・管理していったらどうでしょうか。
 特に操作マクロは、通常の操作でも複雑ではないので、簡単な操作にしないとメリットがありません。

 今回は、"6.一つのシート内の一部のページが印刷できる機能"を取り上げてみましょう。
 この機能の核は、指定したページを印刷するというコマンドです。これは操作マクロ記録で簡単にわかります。
 2007では次のとおりです。
 ActiveWindow.SelectedSheets.PrintOut From:=p1, To:=p9
 p1及びp9を外から指定すればいいということになります。
 簡単ですね。
 指定の仕方です。
 0…全部
 2-5…2から5ページ
 3…3ページのみ
 4-…4ページ以降全部
 -5…1から5ページ
 (飛び飛びページの印刷は、通常の処理で行なってください)
 この指定内容から、p1、p9を求めればいいのです。最後までの時は例えばp9=999でいいです(1000ページを越える場合はダメですが…)。
 分類すると
 -がある→一桁目にある =⇒-5のパターン
      →一桁目にない→最後にある =⇒4-のパターン
                →最後にない =⇒2-5のパターン
 -がない→値は0である =⇒0のパターン
      →値は0でない =⇒3のパターン
 となりますので、InStr( )、len( )、left( )、mid( )の関数で、p1、p9を求めてください。具体的には各自で考えてください。
 入力値は文字になっていますので、最後あたりで数値に直してp1及びp9に代入してください(val( )関数)。

0 件のコメント: