Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Professional : Excel 2010)
FrameオブジェクトのCaptionプロパティで指定した文字をセンタリング表示
投稿日時: 18/03/16 15:58:57
投稿者: George

いつもお世話になっています。
 
今回の質問は、ユーザーフォーム上に設置したフレームの話です。
Captionプロパティを指定すると左上の方に指定した文字が出ると思いますが、
その文字列をフレームの上辺内でセンタリング表示はできませんでしょうか?
 
代替案として考えたのは、Captionを空にして、ラベルに表示したい文字を設定して
デザイン時にセンタリングするのは考えてみてはいますが、フレームオブジェクトのみで
完結する方法があればと思って質問させていただきました。
 
何か良い方法があれば教えてください。

回答
投稿日時: 18/03/16 16:08:50
投稿者: WinArrow
投稿者のウェブサイトに移動

フレームでは、無理そうですね・・・・
 
代案として タブストリップ(ページは1つだけ)は、如何でしょうか?

投稿日時: 18/03/16 16:27:00
投稿者: George

WinArrow さん
早速の回答ありがとうございます。
 
>代案として タブストリップ(ページは1つだけ)は、如何でしょうか?
タブストリップでやってみましたが、センタリングって簡単にできますでしょうか?
 
TabOrientationプロパティで上部・センタリングがあれば良いのでしょうが、
上、下、左、右しかないようなので、名前の変更でスペースを表示したい文字の左右に入れて
それっぽくはやってみましたが、タブの幅と右端の線が一直線にならずになんとかできないかと
現在試行錯誤中です。
 
WinArrowさんがおっしゃった方法はタブストリップを1ページにして
残ったページのプロパティをデザイン時にキャプションを変更するというやり方で間違いないでしょうか?

回答
投稿日時: 18/03/16 16:47:15
投稿者: WinArrow
投稿者のウェブサイトに移動

George さんの引用:
WinArrow さん
早速の回答ありがとうございます。
 
>代案として タブストリップ(ページは1つだけ)は、如何でしょうか?
タブストリップでやってみましたが、センタリングって簡単にできますでしょうか?
 
TabOrientationプロパティで上部・センタリングがあれば良いのでしょうが、
上、下、左、右しかないようなので、名前の変更でスペースを表示したい文字の左右に入れて
それっぽくはやってみましたが、タブの幅と右端の線が一直線にならずになんとかできないかと
現在試行錯誤中です。
 
WinArrowさんがおっしゃった方法はタブストリップを1ページにして
残ったページのプロパティをデザイン時にキャプションを変更するというやり方で間違いないでしょうか?

 
タブストリップは、
初期値で、「タブ」が上に配置されて2頁になっていますが、
2ページ目を削除すると、1ページだけになりますよね・・・
「タブ」の幅をタブストリップの幅に併せれば、Captionは、中央になります。
 
具体的には
Me.TabStrip1.TabFixedWidth = Me.Width
です。

回答
投稿日時: 18/03/16 16:53:58
投稿者: WinArrow
投稿者のウェブサイトに移動

コードで設定すると、ちょっと見栄えが悪くなるので
デザイン時に設定したほうがよいですね・・・
 
たとえば、Width:200の時
TabFixedWidth
を、197にするとよいと思います。

回答
投稿日時: 18/03/16 16:58:05
投稿者: WinArrow
投稿者のウェブサイトに移動

 
TabのCaptionは、デザイン時には設定できないので
 
適当なタイミングで
     Me.TabStrip1.Tabs(0).Caption = "タイトル"
というように記述します。

回答
投稿日時: 18/03/17 11:29:27
投稿者: simple

工夫されているところ、感想だけで恐縮です。
 
こうしたものは標準どおりにしたほうがよいと思います。
キャプションの位置が本質的な使いやすさにいかほど貢献するでしょうか。
負荷に見合う効果があるでしょうか。
標準的な物にあわせることも大切なことではないですか?

投稿日時: 18/03/20 09:11:29
投稿者: George

WinArrowさん
返事が遅くなってすみませんでした。
タブストリップでTabFixedWidthとWidthを教えていただいた通り入力したところ
思っていたような形になりました。
 
ありがとうございました。