Excel VBA質問箱 IV

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

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


742 / 13645 ツリー ←次へ | 前へ→

【78601】TextBoxになるべく大きく文字を書くには りった 16/11/25(金) 17:52 質問[未読]
【78602】Re:TextBoxになるべく大きく文字を書くには りった 16/11/25(金) 18:02 発言[未読]
【78603】Re:TextBoxになるべく大きく文字を書くには 亀マスター 16/11/25(金) 19:53 発言[未読]
【78606】Re:TextBoxになるべく大きく文字を書くには りった 16/11/28(月) 9:58 回答[未読]

【78601】TextBoxになるべく大きく文字を書くには
質問  りった  - 16/11/25(金) 17:52 -

引用なし
パスワード
   固定サイズのTextBoxにマクロでテキストを設定します。
表示しきれなかったらフォントサイズを小さくしたいのですが、
何かいい方法有りますでしょうか?

背景:
・マクロでテキストを設定することは出来ます。
・無条件にフォントサイズを変更することも出来ます。
・「いい感じに」フォントサイズを変更する方法が分かりません。

実際に今作っているのはパワーポイントマクロなのですが、
こちらの掲示板はいつも的確な回答を頂けるのと、
後々Excel VBAでも同じことで困るかもしれないので
質問させて頂きました。
Excel VBAの質問としてのご回答頂ければ幸いです。

【78602】Re:TextBoxになるべく大きく文字を書くに...
発言  りった  - 16/11/25(金) 18:02 -

引用なし
パスワード
   補足です。
ちなみにテキストは複数行折り返しです。

【78603】Re:TextBoxになるべく大きく文字を書くに...
発言  亀マスター  - 16/11/25(金) 19:53 -

引用なし
パスワード
   テキストボックスのWidthプロパティ、Heightプロパティはポイント単位でサイズの設定・取得ができ、文字のフォントサイズもポイントサイズで表すので、これを利用すればなんとかなるような気はします。たとえば、Widthが100で文字数が20字なら、フォントサイズを5に設定するとか。ただし、フォントの名前にPが入っているもの(MS Pゴシックなど)は文字ごとに横幅が変わるので、Pのついていないもの限定ですが。

高さに関しては1行の高さが具体的に何ポイントなのか取得・設定がしにくいので、私はよくわかりませんでした。
一応、
テキストボックス.ShapeRange.TextFrame2.TextRange.ParagraphFormat.SpaceWithin
で行間を取得できるのですが、設定が「1行」「2行」のようになっていれば1、2となり、固定値で10ptとなっていれば10となるので、正確に高さを取得できないのです。(できるのかもしれませんがわかりませんでした。)
また、手元で試してみたところ、固定値で高さ145ptで余白0cm、線のサイズ0ptのテキストボックスに、フォントサイズ70ptの字が2行入りませんでした。

【78606】Re:TextBoxになるべく大きく文字を書くに...
回答  りった  - 16/11/28(月) 9:58 -

引用なし
パスワード
   やはりプロポーショナルふぉrンとだと厳しいですか。
あきらめて目視で調整します。
回答ありがとうございます。

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