[ VBA ] コントロールを印刷するかしないかを切替える(PrintObject プロパティ)

Pocket

エクセルシート上に、コマンドボタンやチェックボックスなどのコントロールを配置して帳票や申請書として使用することも多いかと思いますが、印刷時にはこのコントロールを印刷したくないことがあります。

スポンサーリンク

PrintObject プロパティ

印刷するかしないかは、PrintObject プロパティを設定するだけで設定することができます。印刷対象とする場合には、PrintObject プロパティを True に、印刷させない場合には、False に設定します。

手動で設定する場合は、次のように設定します。VBA から動的に設定することももちろんできますが、条件によって印刷したり、しなかったりさせるような設計は個人的に嫌いです。

動的に設定するとしても、設定していることを明示的にするために、初期設定時に記述するくらいにとどめておくことが良いと思います。

でも、好きにしたら良いと思いますよ!  (;^_^A

PrintObject プロパティを手動で設定

印刷しても大丈夫なフォーマットにしろよ!

愚痴ついでにもう一つです。そもそも、「常に印刷しても大丈夫なようなフォーマットにしろよな!」と思います。それこそ、客にエンジニアにも言えることですが、細かい人間が帳票に絡んでくると、個人的な趣味だったり、好き嫌いでフォーマットが決まることが多いですが、結局は自己満足の塊です。

「日本人は帳票の細部にこだわる?」

ウザいです。それに真に受けて、洗脳されているシステムエンジニアだたり、プログラマーも多いです。そんなのは、レポート作成ツールを売りたい会社と、「帳票が云々・・」と、客からなるべく高い金額で受注したいシステム会社の都合です。日本人の性格ではありません。

あなたは、本当に顧客の多くがレポートの細部にこだわっていると思いますか?もちろん、一定数は間違いなくいます。しかし、少数派だと思います。レポートに必要な内容が過不足なく、分かりやすく配置されていればあまり問題になることはありません。

あなたがエンジニアを名乗るのであれば、客が真に求めていることを分析して、なるべく簡単に実装するようにした方が良いと思います。「できるか、できないか」だけで判断する癖があるのであれば直したほうが良いでしょう。いずれ、邪魔者扱いされるようになってしまいます。

罫線がうまく処理できないなら、罫線なしで問題ないフォーマットに変更すれば良いのです。ボタンは印刷時にはいらないけど、あっても邪魔にならないし、誰も勘違いしないのであれば、印刷したっていいのです。

細かい話ですが、そういうことです。

乱文な上に、愚痴ばかりになってしまいました。m(__)m

 

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *