見直し
- 2007/11/10 11:06
- カテゴリー:勝手にっ!大会支援
エクセルに限界を感じているとか言いながら、未だにエクセルで作ってるんです。
今回はちょっと印刷関係の見直しです。
と・言っても今までのを掲載していないんで判らないとは思うんですが、まあ時期が来たらアップしてみます。
さて、印刷関係とは?なんですがオーダー表(兼スコアーシートの印刷関係です)
今までは時間が無くて、種目毎と予選・決勝そして、団体戦と個人戦で別々のルーチンを動作させていたんですが、本来同じルーチンを通すために対戦コートのフォーマットを合わせていましたので、VBAの標準モジュールで同じルーチンを通すように変更しました。(今更なんですがね)
それに伴って、プリンタの指定をもっと簡単にしたかったので、今回からEXCEL2003に変更しました。
今まではEXCEL97で頑張ってたんですけど、シートがアクティブじゃないと罫線描画をVBAから出来ないとか、プリンターの指定にポート名まで必要とか・・・があったんですが、今回からは多少楽になります。
なぜ、プリンタの指定をしたいかと言うと、いままで無理やりネットワークで掲示用のデータを他のパソコンへ送ってたりしたんですが、EXCELのネットワークは不安定なんですよ、困ったことに。
そんで、めんどくさいんで掲示用のフォルダーに画像として対戦表を保存できたらそんな面倒なことをしなくてもいいんじゃないかと思ったわけです。
他のネットワークで繋がっているパソコンから、掲示用のフォルダーを共有して、スライドショーで表示すればいいわけですから、簡単ですよね。
てなわけで、画像保存用の仮想プリンタと、オーダーシート印刷用のプリンタを切り替える必要があります。
VBAからは
Worksheets("審判用紙").PrintOut ActivePrinter:="Brother HL-2040 series"
と指定すれば、レーザプリンタに出力してくれます。
EXCEL97の時は
Worksheets("審判用紙").PrintOut ActivePrinter:="Brother HL-2040 series on USB002"
とポート名も指定する必要があったんです、でもこのポート名は、ころころと変わるんですよ、困ったことに。
これで、VBAのネットワークプログラムから開放されます。
次回は、新兵器の導入です・・・どうなるかな