« その選択肢は、無いわ。(笑 | メイン | ウルフ(BlogPet) »

2009年4月15日

●VBA\(^o^)/

足掛け30時間も掛かりましたが、ようやくサークル持込リスト用のVBAが完成しました。
・・・てか、時間掛けすぎ。(笑
だってさぁ・・・VBAの関数なんてマトモに知らないんだぜ?
やりたいことから逆算してネットで検索して覚えていったから、こんなに時間掛かった罠です。

今回作成したのは、サークルで使用している持込カラオケリストを、擬似的に両面印刷するVBAです。
まぁ、こんな実装をしています。

 ・CSVファイルを読み込んで、値をシートへ設定する。←全曲持込カラオケリスト
 ・特定の日付以降のデータは、別シートへ設定する。←最新3ヶ月持込カラオケリスト
 ・ソートは番組名仮名でソート。ただし、番組名仮名は印刷対象外とする。
 ・印刷対象範囲は、横1ページに収めるようにする。縦は何ページでもOK。
 ・動画持込カラオケの行は、赤色にする。
 ・印刷は奇数ページ、偶数ページそれぞれ自動でできるようにする。

難しかったのは、横1ページへ納める方法と、奇数ページ・偶数ページですね。
横1ページは改ページプレビューを利用しましたが、勝手に横2ページとかになりまして。
ネットで書いてあるどのやり方を使ってもアウトなので、別方法で対応しました。

奇数ページ・偶数ページは、全ページ数取得が大変でした。
普通に取得すると、印刷対象範囲を指定しないページ数なんですよねぇ。
例えば、10列中5行を印刷対象としていても、無理矢理1ページに10行収めてから計算します。
即ち、印刷倍率10%とかで計算するから、5行を印刷対象にした時と比べて、ページ数少なすぎ。(^^A
結局、事前に改ページプレビューを実行して、プレビュー上のページ数を計算しました。

・・・こんなやり方、まともに載ってないやい!
しかも、条件によっては改ページプレビューでもページ数を正確に算出できないし。
いやぁ、なんとかがんばったかなと。

てことで、作業一段落したので、今からコミュのレスとか回ります。

トラックバックURL

このエントリーのトラックバックURL:
http://neta20000.net/cgi/mt/mt-tb.cgi/1031

コメントする