
いつもお世話になっております。
メッセージボックスに表示する文字の大きさを大きくしたいと思っています。
ネットで調べてみたのですが、太字にするというのがあったのですが
フォントサイズを変更するというのが見つかりませんでした。
マクロでセル内の文字サイズを変更する場合、
------------------
Columns("X").Font.Size = 16
------------------
で設定できるので、「Font.Size = 値」つまり
------------------
MsgBox Font.Size = 16 "おはよう"
------------------
で設定できそうな気がします。
ですが、やってみたところ構文エラーで実行できませんでした。
もしかして、メッセージボックスの中のフォントサイズは変更できないのでしょうか?
すいませんが詳しい方、説明の上手な方、直接、コードで説明できる方、
お手数ですが教えて下さい。よろしくお願いします。
No.5ベストアンサー
- 回答日時:
No.3 の補足です。
ユーザーフォームについて、作り方、表示方法などは、ここでは書ききれないので次のサイトに細かく説明されているようなので紹介しておきます。
http://excel-ubara.com/excelvba3/
ユーザーフォームを使えば、ボタンの配置や文字などもかなり自由に出来ますが、その分どうしてもやらなければいけないことが増えてしまいます。ですが背景に絵とかも設定できるので凝ったものが作れます。
ご解答ありがとうございます。
リンク先を確認しました。
このページはユーザーフォームについて
詳しく書かれていてすごく参考になります。
「ユーザーフォームの方がいいかも、、、」とは思っていたのですが、
メッセージボックスの方が手軽なイメージがあったので、
今回、質問させて頂きました。
ですが、みなさんのおっしゃるとおり、
ユーザーフォームの方が手軽ですし、
教えて頂いたリンク先も参考にすると
レイアウト上ほとんど希望のものができそうです。
今回はご解答頂きありがとうございました。
機会がありましたらまたお願いします。
No.4
- 回答日時:
#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にさえ、通常ではインストールできません。
説明のうまい下手は関係がないでしょうけれども、私も何度も、この質問には遭遇はしています。当時は、レジストリを書き換えるという回答が多かったとは思いますが、手動で変えるものです。今は場所もはっきりしません。残念ながら、あまり期待した結果には結びつかないように思います。
ご解答ありがとうございます。
No.3さんへのお礼で書いたようにメッセージボックスのフォントの変更がここまで複雑だとは知りませんでした。
なのでNo.3さん、WindFallerさんのアドバイス通り、ユーザーボックスを利用しようと思います。
ユーザーボックスの場合、ラベルとテキストボックスがあり、
どちらもプロパティのフォントで手軽にフォントサイズを変更できますので。
メッセージボックスにこだわっているわけではないので、
ユーザーボックスを利用しようと思います。
いつも丁寧なご解答ありがとうございます。機会がありましたら、またお願いします。
追記
補足コメントのところにユーザーフォームのテキストボックスとラベルの
フォントサイズの変更方法を貼り付けておきます。
参考になれば幸いです。
No.3
- 回答日時:
フォームを使って独自のメッセージボックスを作ってしまうのが一番だと思います。
ご解答ありがとうございます。
まさかメッセージボックスのフォント設定がこんなに複雑だとは知りませんでした。
アドバイスとおりユーザーフォームを利用することにします。
今回はアドバイスありがとうございます。機会がありましたらまたお願いします。
No.2
- 回答日時:
こんにちは
既出の質問を検索すると何度か繰り返し質問されているようです。
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 …
ご解答ありがとうございます。
http://bit.ly/2aEii4D http://bit.ly/2aSCymZ の件、
アドバイスありがとうございます。
さすがにここまで必要ないので、
No.3さん、No.4さんのアドバイス通り、
ユーザーフォームを利用しようと思いまいます。
正直なところ、まさかフォントのサイズを設定するのに、
ここまでの設定が必要だと思っておりませんでしたので。
あと既出の質問の件ですが、「教えて!goo」の「Q&Aを検索」に
キーワードを入力してみたのですが的外れなものがヒットして、
あまり精度がよくありません。
おっしゃる通り「先に既出の質問を見たい」という気持ちはあるので、
もし何かコツがあるのでしたら、教えて頂ければありがたいです。
いつもご解答頂きありがとうございます。機会がありましたらまたお願いします。
No.1
- 回答日時:
特定のメッセージだけ大きくしたいのでしたら見当違いですが、すべてのメッセージボックスのフォントサイズを変更するのであれば下記の方法で可能です。
OSのバージョンによって微妙に違いますが、Windows10の場合だとディスプレイの設定から「ディスプレイの詳細設定」を選択し、その中にある「テキストやその他の項目のサイズ調整」を選択してメッセージボックスのフォントサイズを変更することができます。
他のバージョンでもディスプレイの設定から入っていけばどこかで設定できるようになっています。
ご解答ありがとうございます。
>特定のメッセージだけ大きくしたいのでしたら見当違いですが
ご指摘の通り、こちらで触れているのは以下のコマンドで表示する
マクロのMsbBox(メッセージボックス)という機能のことです。
------------------
MsgBox "おはよう"
------------------
ですが使用しているタブレットがWindows10ですので参考になりました。
ご解答ありがとうございます。
追記
ご興味がおありでしたら、
「開発」タグ、「Visual Basic」、「挿入」、で以下の通りコマンドをコピペして、
Sub Macro1()
MsgBox "おはよう"
End Sub
と入力してから「マクロ」、「Macro1」を実行してみてください。
ご参考までに。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
フォントの大きさ
Visual Basic(VBA)
-
MSGBOXのフォント大きさ変更
Visual Basic(VBA)
-
MsgBoxについて
Visual Basic(VBA)
-
-
4
メッセージボックスを大きくする方法
Visual Basic(VBA)
-
5
Msgboxで使用するフォントの指定は可能?
Visual Basic(VBA)
-
6
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
7
VBSの「MsgBox」について
Visual Basic(VBA)
-
8
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
9
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
10
エクセルVBA ユーザーフォームのTextBoxを日付にしたい
Excel(エクセル)
-
11
VBscriptで文字サイズを指定できますか?
Visual Basic(VBA)
-
12
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
13
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
14
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
15
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
16
UserForm1.Showでエラーになります。
工学
-
17
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
18
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
19
エクセルVBA ブックを閉じる前に確認メッセージを表示したい
Excel(エクセル)
-
20
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ワードで英単語を入力すると文...
-
メッセージボックスに表示する...
-
差し込み印刷された時の文字の...
-
ワードやエクセルで文字を縦長...
-
パソコンの表示フォントが突然...
-
A4サイズの用紙いっぱいに1文字...
-
ワードでA4 1行40字×30行...
-
ワードで、文字の大きさを変え...
-
急に文字が細くて、見づらくな...
-
Outlookメールで、画面の文字の...
-
excelで文字幅(倍率)を指定す...
-
ワードで筆のような文字にしたい
-
アクセスのレポートで文字縮小...
-
Chem Drawの使い方
-
縦書きで途中から2行にする場合...
-
箇条書きの数字の一部の色を変...
-
エクセル表の行がメール添付し...
-
WORDで、一行当たりの文字数を4...
-
メモ帳での印刷時、文字の大き...
-
Wordで文字を大きく印刷する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ワードで英単語を入力すると文...
-
パソコンの表示フォントが突然...
-
メッセージボックスに表示する...
-
差し込み印刷された時の文字の...
-
A4サイズの用紙いっぱいに1文字...
-
ワードやエクセルで文字を縦長...
-
急に文字が細くて、見づらくな...
-
ワードで、文字の大きさを変え...
-
Outlookメールで、画面の文字の...
-
ワードで筆のような文字にしたい
-
エクセル表の行がメール添付し...
-
ワードの原稿用紙、文字ずれに...
-
セルの条件によってフォントサ...
-
箇条書きの数字の一部の色を変...
-
縦書きで途中から2行にする場合...
-
ワードでA4 1行40字×30行...
-
Wordについて
-
Chem Drawの使い方
-
エクセルのテキストボックス内...
-
excelで文字幅(倍率)を指定す...
おすすめ情報
No.4 WindFallerさんへ
お礼に書いたとおり、
ユーザーフォームの「Label1」のフォント設定をプロパティウインドウから変更する
場合について画像を貼り付けておきます。
あとNo.4さんの教えてくれた、
ユーザーフォームの様々な設定方法 http://excel-ubara.com/excelvba3/
はすごく参考になります。
こちらも参考にどうぞ。