お世話になります。
社員用の名札をデータ管理でアクセスを使用しております。
レポートに名刺サイズくらいのボックスを1つだけ置き、ボックス内には名前や所属が
表示されるようにしております。レコードソースはテーブルにしています。
出力用紙サイズはA4で、作成する人数が1人ならボックス1個、5人ならボックスが5個表示されます。
A4サイズ1枚につき最大8人分まで作成できるようにしています。
やりたいことは、社員の区分として正社員/派遣社員がいますので、VBAでレポートプレビュー時にボックスの背景を正社員は白、派遣社員は黄色に分けたいです。
今は、正社員用と派遣社員用にレポートを作成しており、背景はそれぞれの色に設定しているため問題ないですが
できるなら合体させたく考えております。
実現可能でしょうか?
印刷しないプレビュー専用ですか?
ものすごく雑にやるならボックスをテキストボックスに変えて
で、フォントサイズを最大、前景色を黄色にすればそれっぽくなりますよ
もう少しきれいにやるならリッチテキスト形式にして空白(スペース)を敷き詰めてタグの
BACKGROUND-COLOR
スタイルを使って色指定部分を上記条件で変えるとかですかねもちろんVBAでフォーマット時にボックスの背景色を変更するでもいいと思います
hiroton 様
早々のご回答ありがとうございます。
説明に不足がありました。
プレビュー専用ではなく最終的に印刷します。レポートですのでまずはプレビューで確認するという
作業になります。
作業の流れとしましては、
1.作成する従業員情報にフラグを立てる。(チェックボックスにチェックを入れる)
2.「作成」ボタンからプレビューで確認する
レポートの開く時イベントで、社員区分に応じた背景色を変更できたらいいと思っています。
どうか引き続きご教授のほどよろしくお願いいたします。
印刷することまで考えてきれいに出したいなら2つ目の手法なら
文字書式:リッチ テキスト形式
コントロールソース:
フォント名:MS ゴシック
フォントサイズ:100
その他余白等は0にする
実際に表示させている文字は全角スペース3つです
VBAならボックスのままでいいのでフォーマット時イベントで背景色を変更
上の手法は、あくまでも表示されている文字の背景部分の色なので、余白部分とか望んだ結果にならない場合があります
VBAはいろいろ柔軟に対応できますが、出来ることが多すぎてコードが増えるほど難解なシステムになるので使わなくていい部分には使わないようにしたいという気持ちがhirotonにはあります
後ついでに、フォーマット時イベントはレポートビューだと発生しないとかの違いもありますね
四角形はテキストボックスに変更して、条件付き書式を下記のように設定すればいいでしょう。
VBAでセクション全体の背景色を変更するなら、下記で。
そうですよね。条件付き書式で背景変えるのが楽だよなーって思ってたんですけどなんでか見つけられないなーってなったんですよね
ボックス選んだ状態でグレーアウトしてて見逃したとかそんなんだと思います
コントロールソースに■を設定する方法は、条件付き書式より動作が軽いので、覚えておいて損はないと思います。
下記でも同様の方法を使っています。
カレント行の背景色の変更 その3 - hatena chips
hatena様の「VBAでセクション全体の背景色を変更する」方法で解決しました。
hiroton様、hatena様 ありがとうございました。