Excel VBA質問箱 IV

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

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


4944 / 76732 ←次へ | 前へ→

【77402】Re:テキストボックスのスクロールバー
発言  β  - 15/9/9(水) 7:16 -

引用なし
パスワード
   ▼tomi さん:
▼tomi さん:
おはようございます。

本件、悩ましいですよねぇ。
別掲示板のやり取りの中でもありましたけど、ネックは、現在の文字フォントの種類とサイズで
現在の文字列がどれだけの長さ(桁数ではなく)なのか、エクセルが、その情報を我々にくれない
ということです。
しかも、今回の場合、【文字の高さ】つまり1行の高さとテキストボックスの高さを比較しなければ
いけないという要素も含まれてしまいます。この1行の高さも、我々は情報として取得できません。
(エクセルの意地悪?)

これも、別板になりますが、文字列の長さに関して、
ht p://www.excel.studio-kazu.jp/kw/20150908152533.html
でも、質問者さんともども悩みました。結局、苦肉の策でお茶を濁しましたが。

Changeイベントでの文字数の把握と、そのフォント情報から自動処理をしたいということは
重々理解できますが、う〜ん・・・

しかも、実は、解は1つだけではないということがあります。
たとえば文字数が20文字だったとします。
これをテキストボックスにすべて表示させたいという場合、

・1行にして、小さなサイズで表示
・2行にして、少し大きなサイズで表示
・3行にして、もっと大きなサイズで表示
  ・
  ・
  ・

無数に解があります。

で、それらの解の中で、今度は、そのフォントで、テキストボックスには何行収まるか
これを、その時の文字の高さで判断して、できるだけ下に余白行がない解を選択。

でも、コメントしたように、この文字の高さが取得できません。(と思います)

ご希望のスクロールバーが出現しているかどうかを把握できれば、Changeイベント内で
大きなフォントから始めて、ぐるぐる、ループさせて、スクロールバーが消えたら
そのフォントで決定 ということができるんですがねぇ。

やはり(お好みではなかったようですけど)別掲示板でのWinArrowさんのリコメンド、
入力したものを自分で調整して見やすくするということしかないのではと思います。

349 hits

【77393】テキストボックスのスクロールバー tomi 15/9/8(火) 16:19 質問[未読]
【77394】Re:テキストボックスのスクロールバー カリーニン 15/9/8(火) 19:25 発言[未読]
【77395】Re:テキストボックスのスクロールバー tomi 15/9/8(火) 19:45 発言[未読]
【77396】Re:テキストボックスのスクロールバー カリーニン 15/9/8(火) 20:02 発言[未読]
【77397】Re:テキストボックスのスクロールバー tomi 15/9/8(火) 20:32 発言[未読]
【77398】Re:テキストボックスのスクロールバー カリーニン 15/9/8(火) 20:39 発言[未読]
【77400】Re:テキストボックスのスクロールバー tomi 15/9/9(水) 5:00 お礼[未読]
【77399】Re:テキストボックスのスクロールバー マナ 15/9/8(火) 20:50 発言[未読]
【77401】Re:テキストボックスのスクロールバー tomi 15/9/9(水) 5:05 お礼[未読]
【77402】Re:テキストボックスのスクロールバー β 15/9/9(水) 7:16 発言[未読]
【77403】Re:テキストボックスのスクロールバー tomi 15/9/9(水) 7:51 お礼[未読]
【77404】Re:テキストボックスのスクロールバー β 15/9/9(水) 9:28 発言[未読]

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