gooドクター有料プランが1ヶ月間無料!

いつもお世話になっております。

メッセージボックスに表示する文字の大きさを大きくしたいと思っています。
ネットで調べてみたのですが、太字にするというのがあったのですが
フォントサイズを変更するというのが見つかりませんでした。


マクロでセル内の文字サイズを変更する場合、
------------------
Columns("X").Font.Size = 16
------------------

で設定できるので、「Font.Size = 値」つまり
------------------
MsgBox Font.Size = 16 "おはよう"
------------------

で設定できそうな気がします。
ですが、やってみたところ構文エラーで実行できませんでした。

もしかして、メッセージボックスの中のフォントサイズは変更できないのでしょうか?

すいませんが詳しい方、説明の上手な方、直接、コードで説明できる方、
お手数ですが教えて下さい。よろしくお願いします。

質問者からの補足コメント

  • No.4 WindFallerさんへ

    お礼に書いたとおり、
    ユーザーフォームの「Label1」のフォント設定をプロパティウインドウから変更する
    場合について画像を貼り付けておきます。

    あとNo.4さんの教えてくれた、
    ユーザーフォームの様々な設定方法 http://excel-ubara.com/excelvba3/ 
    はすごく参考になります。
    こちらも参考にどうぞ。

    「メッセージボックスに表示する文字を大きく」の補足画像1
      補足日時:2016/08/05 00:04
gooドクター

A 回答 (5件)

No.3 の補足です。


ユーザーフォームについて、作り方、表示方法などは、ここでは書ききれないので次のサイトに細かく説明されているようなので紹介しておきます。
http://excel-ubara.com/excelvba3/

ユーザーフォームを使えば、ボタンの配置や文字などもかなり自由に出来ますが、その分どうしてもやらなければいけないことが増えてしまいます。ですが背景に絵とかも設定できるので凝ったものが作れます。
    • good
    • 4
この回答へのお礼

ご解答ありがとうございます。

リンク先を確認しました。
このページはユーザーフォームについて
詳しく書かれていてすごく参考になります。

「ユーザーフォームの方がいいかも、、、」とは思っていたのですが、
メッセージボックスの方が手軽なイメージがあったので、
今回、質問させて頂きました。

ですが、みなさんのおっしゃるとおり、
ユーザーフォームの方が手軽ですし、
教えて頂いたリンク先も参考にすると
レイアウト上ほとんど希望のものができそうです。

今回はご解答頂きありがとうございました。
機会がありましたらまたお願いします。

お礼日時:2016/08/04 23:52

#3さんのおっしゃるような、たぶん、UserForm のことだとは思いますが、そちらのほうが良いように思います。



#2さんのリンク先 https://oshiete.goo.ne.jp/qa/800236.html #1
「メインのフォーム以外にフォームモジュールを追加して、そのフォームをメッセージボックスそっくりに作って、(ラベルとか、ボタンとかで)、」

確かに、フォームのラベルが、MsgBox に一番似ているのでやってみようとしましたが、私には、DialogのLabel のフォントさえ変えられない始末です。果たしてできたのでしょうか。


Dim ds As DialogSheet
 Set ds = DialogSheets("Dialog1")
 With ds
''  .Labels(1).Charactors.Font.Size =16 'これはできません。
  .Labels(1).Text = "Hello World!"
  .Show
 End With
'//

Sub TestRichTextBox()
With UserForm1
  .RichTextBox1.Font.Size = 16
  .RichTextBox1.Text = "Hello World! (RichTextBox)"
  '--------------------------
  .TextBox1.Font.Size = 16
  .TextBox1.Text = "Welcome Japan (TextBox)"
  .Show 0
End With
End Sub

このように、RichTextBox でも、TextBox でも、UserForm なら問題はありません。(RichTextBox は、ActiveX のCompabilityの変更が必要です)

今さら、VB6のテクニックだけを追いかけて、APIやDll やOCX のコントロールで、文字サイズを求めるというのは、VB6を持つ人も少ないだろうし、Windows 7にさえ、通常ではインストールできません。

説明のうまい下手は関係がないでしょうけれども、私も何度も、この質問には遭遇はしています。当時は、レジストリを書き換えるという回答が多かったとは思いますが、手動で変えるものです。今は場所もはっきりしません。残念ながら、あまり期待した結果には結びつかないように思います。
    • good
    • 2
この回答へのお礼

ご解答ありがとうございます。
No.3さんへのお礼で書いたようにメッセージボックスのフォントの変更がここまで複雑だとは知りませんでした。
なのでNo.3さん、WindFallerさんのアドバイス通り、ユーザーボックスを利用しようと思います。

ユーザーボックスの場合、ラベルとテキストボックスがあり、
どちらもプロパティのフォントで手軽にフォントサイズを変更できますので。

メッセージボックスにこだわっているわけではないので、
ユーザーボックスを利用しようと思います。

いつも丁寧なご解答ありがとうございます。機会がありましたら、またお願いします。

追記
補足コメントのところにユーザーフォームのテキストボックスとラベルの
フォントサイズの変更方法を貼り付けておきます。
参考になれば幸いです。

お礼日時:2016/08/04 23:45

フォームを使って独自のメッセージボックスを作ってしまうのが一番だと思います。

    • good
    • 2
この回答へのお礼

ご解答ありがとうございます。
まさかメッセージボックスのフォント設定がこんなに複雑だとは知りませんでした。
アドバイスとおりユーザーフォームを利用することにします。

今回はアドバイスありがとうございます。機会がありましたらまたお願いします。

お礼日時:2016/08/04 19:04

こんにちは



既出の質問を検索すると何度か繰り返し質問されているようです。
https://oshiete.goo.ne.jp/qa/384428.html
https://oshiete.goo.ne.jp/qa/800236.html

同じような不便さを感じて、アドインやDLLを作成なさっている方もいらっしゃるようです。
http://www.h3.dion.ne.jp/~sakatsu/ktMsgBox_Serie …
http://homepage2.nifty.com/nonnon/Download/NonMs …
    • good
    • 1
この回答へのお礼

ご解答ありがとうございます。

http://bit.ly/2aEii4D http://bit.ly/2aSCymZ の件、
アドバイスありがとうございます。

さすがにここまで必要ないので、
No.3さん、No.4さんのアドバイス通り、
ユーザーフォームを利用しようと思いまいます。

正直なところ、まさかフォントのサイズを設定するのに、
ここまでの設定が必要だと思っておりませんでしたので。

あと既出の質問の件ですが、「教えて!goo」の「Q&Aを検索」に
キーワードを入力してみたのですが的外れなものがヒットして、
あまり精度がよくありません。

おっしゃる通り「先に既出の質問を見たい」という気持ちはあるので、
もし何かコツがあるのでしたら、教えて頂ければありがたいです。

いつもご解答頂きありがとうございます。機会がありましたらまたお願いします。

お礼日時:2016/08/04 18:30

特定のメッセージだけ大きくしたいのでしたら見当違いですが、すべてのメッセージボックスのフォントサイズを変更するのであれば下記の方法で可能です。



OSのバージョンによって微妙に違いますが、Windows10の場合だとディスプレイの設定から「ディスプレイの詳細設定」を選択し、その中にある「テキストやその他の項目のサイズ調整」を選択してメッセージボックスのフォントサイズを変更することができます。
他のバージョンでもディスプレイの設定から入っていけばどこかで設定できるようになっています。
    • good
    • 0
この回答へのお礼

ご解答ありがとうございます。

>特定のメッセージだけ大きくしたいのでしたら見当違いですが

ご指摘の通り、こちらで触れているのは以下のコマンドで表示する
マクロのMsbBox(メッセージボックス)という機能のことです。
------------------
MsgBox "おはよう"
------------------

ですが使用しているタブレットがWindows10ですので参考になりました。
ご解答ありがとうございます。

追記
ご興味がおありでしたら、
「開発」タグ、「Visual Basic」、「挿入」、で以下の通りコマンドをコピペして、

Sub Macro1()
MsgBox "おはよう"
End Sub

と入力してから「マクロ」、「Macro1」を実行してみてください。
ご参考までに。

お礼日時:2016/08/04 18:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング