
VBメッセージボックスの「はい」「いいえ」などのボタンを、自分で指定したボタン名に変更できないでしょうか?
やりたいことは、「言語を選択してください」という質問メッセージを表示して、これから行うアクションを、例えば、「日本語」「English」などで表示したいです。
イメージとしては、
language = MsgBox("言語を選択してください","日本語""English")
If language = "日本語" Then
日本語処理
ElseIf language = "English" Then
英語処理
End If
といった感じに処理を行いたいですが、メッセージボックスのボタンの文言変更は無理でしょうか?
ちなみに、自分の環境は、OS:XP、VB6SP6です。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
APIを使う場合の話題のようです。
普通にはできない。
下記を見つけました。エクセルVBAでなくて、VBで使えるかどうか(たぶんダメ)判りませんが、使用経験もありませんが参考に。
http://www.h3.dion.ne.jp/~sakatsu/ktMsgBox_Synta …
エクセルで日付についてはkt関数(もちろん別物)は有名です。
ご回答ありがとうございます。
参考URLの内容を拝見いたしましたが、VBでやると引数が多すぎるのでダメといわれてしまいました。
これを参考にイジってみようとは思いますが、多分無理っぽいですね。。。
No.3
- 回答日時:
ボタンの表示を変えるのは難しいと思います。
そのかわりに表現を変えてみたらいかがでしょう?
Sub TEST()
Language = MsgBox("言語を選択してください。" _
+ Chr(&HD) + Chr(&HA) + "" _
+ Chr(&HD) + Chr(&HA) + "日本語なら「はい」" _
+ Chr(&HD) + Chr(&HA) + "英語なら「いいえ」", vbYesNo + vbQuestion, "言語確認")
If Language = vbYes Then
'日本語処理
Else
'英語処理
End If
End Sub
ご回答ありがとうございます。
つまり、メッセージ内容を「はい」「いいえ」で答えられるように変更すれば?ということですよね?
その案も考えてましたが、やはりボタン名を変更した方が使い側からすると扱いやすいと思い、質問させていただいていました。
No.1
- 回答日時:
基本的には出来ません。
もしかしたらAPIでも使えばできるかもしれませんが、そこまでして無理に実現させるのはあまりお勧めしません。
それならばメッセージボックス風の画面を独自に作って、自由にカスタマイズできるようにしたほうがよっぽどいいと思います。
クラス化すれば使い勝手も悪くはないでしょう。
ご回答ありがとうございます。
確かにメッセージボックスをカスタムして使用したい場合が多々あるので、クラス化すればよさそうですね。
ですが問題があり、私は.NETなどやったことが無いので、オブジェクト指向能力がありません(^^;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) Excelヘルプの原文を表示する最速の方法(手順)には? 1 2023/08/11 11:30
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- X(旧Twitter) iPhoneの機種変をして、Twitterを開いてみたら英語になっていて戻せません。ネットで調べて、 3 2022/07/18 17:24
- 格安スマホ・SIMフリースマホ OPPOリノ3aですが時々、知らぬ間に画面が真っ暗になっている時があり、電源ボタンを長押しして再起動 2 2022/05/23 11:18
- 格安スマホ・SIMフリースマホ OPPOリノ3aですが時々、知らぬ間に画面が真っ暗になっている時があり、電源ボタンを長押しして再起動 1 2022/05/23 11:20
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- 英語 英語の質問です。 When I taught in high school, I wanted to 4 2023/08/19 16:10
このQ&Aを見た人はこんなQ&Aも見ています
-
メッセージボックスの選択ボタンのテキストを変更したい
Visual Basic(VBA)
-
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
メッセージボックスのボタン文字を英語表示にしたい
Visual Basic(VBA)
-
-
4
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
5
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
6
MsgBoxについて
Visual Basic(VBA)
-
7
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
8
フォントの大きさ
Visual Basic(VBA)
-
9
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
10
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
11
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
12
【Excel VBA】マクロでExcel自体を終了させたい
Excel(エクセル)
-
13
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
14
ACCESS フォームをそのまま印刷について
その他(データベース)
-
15
エクセルVBAで、ボタンの文字を変えたい
Excel(エクセル)
-
16
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
17
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
18
Msgboxの×が押されたとき
Excel(エクセル)
-
19
VBAでInputBoxの再入力をさせるには?
Visual Basic(VBA)
-
20
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DoEvents
-
イベントの発生から対応する処...
-
ACCESS側からEXCELの書式を設定...
-
VBSで応答不要のメッセージボッ...
-
sprintf()の使用方法
-
VBSの処理中一旦処理を止めて再...
-
VB.NETのUsingキーワードの使い方
-
MFCのワーカースレッドとUIスレ...
-
Excel VBA で処理中断(DoEvents...
-
スタティックテキストが表示さ...
-
ASP VBScriptでスクリプト実行...
-
ファイヤーフォックスのブラウザ
-
Loopとフリーズ
-
FPS制御について
-
PostMessageの連続送信
-
C言語で計算機をつくりたい
-
メッセージボックスのボタン名変更
-
ファイル投稿後のページ更新に...
-
thunderbirdのメッセージフィル...
-
エディットコントロールへの表示
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの処理中一旦処理を止めて再...
-
メッセージボックスのボタン名変更
-
VBA kernel32 の意味
-
ACCESS側からEXCELの書式を設定...
-
Application.ScreenUpdating=Fa...
-
Excel VBA で処理中断(DoEvents...
-
エクセルVBAでクリップボード内...
-
VBSで応答不要のメッセージボッ...
-
VBA、UserFormを前面に出力して...
-
【C#】 あるイベントから別イ...
-
【MFC】イベントの無効化について
-
「キャンセル」ボタン付きの処...
-
シャットダウン時のExcel強制終...
-
MFCのワーカースレッドとUIスレ...
-
Excel VBA 実行中に一瞬フリー...
-
Excel(VBA)シート上のコマンド...
-
VB.NETで数秒間msgboxの...
-
サスペンド(休止やスタンバイ...
-
ループを使わずに、特定時間に...
-
起動後直に実行するコードはど...
おすすめ情報