Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


50744 / 76738 ←次へ | 前へ→

【30879】Re:ユ−ザ−ホ−ムのラベルについて
発言  ichinose  - 05/11/6(日) 14:55 -

引用なし
パスワード
   ▼福岡人 さん、皆さん、こんにちは。

>最近ユ−ザ−ホ−ムの勉強を始めました。ラベルの文字の位置(高さ)を中心にもっていたたいのですが、左上で固定したままです。いろいろしてみましたが、ラベルの枠設定の調整はあるようですが、文字の位置設定がよくわかりません。どなたかご存じでしたら教えていただけないでしょうか。

残念ながら、縦方向の文字の位置調整はできません。
よって、ラベルの高さ(Heightプロパティ)と文字の大きさ(Font.Sizeプロパティ)
を使って程よい大きさを求めて(計算して)配置しなくてはなりません。

例として、

ユーザーフォーム(Userform1)に

ラベルを3つ配置(Label1〜Label3)してください。

このUserform1のモジュールに

'=================================================================
Private Sub UserForm_Initialize()
  Dim wk As Double
  With Label1
    .Height = 42: .Width = 180
    .SpecialEffect = fmSpecialEffectSunken
    End With
  With Label2
    .Height = 42: .Width = 180
    .Font.Size = 9
    .SpecialEffect = fmSpecialEffectSunken
    End With
  With Label3
    .Height = 100: .Width = 180
    .Font.Size = 33
    .SpecialEffect = fmSpecialEffectSunken
    End With
  
  ' ここまでは サンプルラベルの設定
  With Label1 '文字サイズをラベルの高さにあわせる
    .Font.Size = .Height - 1.5
    .Caption = "Label1"
    End With
  With Label2 'ラベルの高さを文字サイズに合わせる
    .Height = .Font.Size + 1.5
    .Caption = "Label2"
    End With
  With Label3 'ラベルの高さを文字サイズの約3倍に設定し、文字を縦方向の中心に配置
    .Height = .Font.Size * 3 + 1.5
    wk = Int(.Height / (.Font.Size * 2))
    .Caption = ""
    For idx = 1 To wk
     .Caption = .Caption & vbCrLf
     Next
    .Caption = .Caption & "Label3"
    End With
End Sub


標準モジュールに
'=======================================
sub main()
  userform1.show
end sub

としてmainを実行してみてください。

それぞれのラベルがコードのコメントに記述したような配置で
表示されると思います。

確認してみてください。

0 hits

【30870】ユ−ザ−ホ−ムのラベルについて 福岡人 05/11/6(日) 13:35 質問
【30871】Re:ユ−ザ−ホ−ムのラベルについて かみちゃん 05/11/6(日) 13:44 回答
【31218】Re:ユ−ザ−ホ−ムのラベルについて 福岡人 05/11/15(火) 5:18 お礼
【30872】Re:ユ−ザ−ホ−ムのラベルについて Himiko 05/11/6(日) 13:48 発言
【31217】Re:ユ−ザ−ホ−ムのラベルについて 福岡人 05/11/15(火) 5:15 お礼
【30879】Re:ユ−ザ−ホ−ムのラベルについて ichinose 05/11/6(日) 14:55 発言

50744 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free