ラベルの文字を縦位置の中央に表示する

 (※正確にはラベルではありませんのでご注意ください)

 レポートのラベルやテキストボックスの文字配置には縦中央(上下中央)というのがなく、通常は文字が上端に表示されます。
 そこで縦中央に表示したい場合は文字列に改行を挿んだり上余白プロパティの値を変更したりして調整しますが、表示させる文字列の行数などが変わる場合は再調整する必要があります。
 ただし、ラベルに関してはこうした方法を用いずとも正確に縦中央を実現する方法がありますので以下でやってみます。

f:id:accs2014:20180804005613p:plain:right:w400

 …といいつつコマンドボタンを置きます;-A-)
 コマンドボタンなら確実に標題が縦中央に表示されるので代用しようというわけです。


f:id:accs2014:20180804005610p:plain:right:w500

 「標題」プロパティで表示する文字列を設定し、あとはラベル風に見せるため「背景スタイル」を「透明」に(「透明」を「はい」に、ではない)、「テーマの使用」を「いいえ」にします。
 テーマの使用が「はい」だと印刷プレビューにボタンが表示されないのでこうします。


f:id:accs2014:20180804005607p:plain:right:w400

 ボタンそのものは透明になり標題の文字列だけが表示される状態になりますが、そこで境界線を表示してしまうとやはり印刷プレビューに表示されなくなるので、四角形や空のテキストボックスをボタンと同じ大きさにして重ねます。
 ボタンそのものの枠線設定でもOKですが、かえって時間がかかるかもしれません。


f:id:accs2014:20180804005604p:plain:right:w350

 印刷プレビューです。


f:id:accs2014:20180804005850p:plain:right:w300

 「配置」プロパティを変更すれば左揃えも右揃えもできます。
 あくまでラベル(フィールドごとに表示を変えられない)ですから上余白プロパティの調整だけで十分実用的ですが、参考まで。


 ちなみにVBAを使ってコマンドボタンのCaptionプロパティ(=標題)にフィールドの値を代入すればテキストボックスの縦中央表示が実現できそうに見えます。しかし実際は表示がおかしくなってしまいうまくいきません。
 テキストボックスの縦中央表示そのものは実現可能ですけどもなかなか面倒ですので、詳しくは次の記事をどうぞ;-o-)

www.accessdbstudy.net