[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『MSGBOXの表示位置を指定するには』(初心者9371)
MSGBOXを表示位置を指定するにはどうすればいいでしょうか
MsgBox ”始めます”
で画面の中央にMSGBOXが表示されますが
これを画面の左上や右上に等、任意に指定するには
どういうふうにすればいいでしょうか
< 使用 Excel:Excel2013、使用 OS:Windows10 >
(マナ) 2016/07/10(日) 14:06
一応できますけど。
こんなことするくらいなら、ユーザーフォームを使うほうがよほどカンタンです。
http://homepage1.nifty.com/rucio/main/technique/MsgBox.htm
>MSGBOXが表示するところは常時見せておきたいところ
> ので違う場所に表示させたいと思いました。
シートのほうを動かしてはどうですか?
泥臭いでしょうか(笑
やはりユーザーフォームが「ほどほど」かもしれません。
( 佳 ) 2016/07/10(日) 16:30
すでに回答があるように、このために、わざわざフックという難解、かつ危険なコードを書くまでもなく ユーザーフォームによる対応が最もシンプルだと思います。
なので、以下は、遊びです。(とりあえず はい、いいえ のタイプ)
1.シート上の好きなところに図形を3つ挿入します。背景色や文字色や形状や場所はどこでもOK。 お好みなら背景色の透明度を調整して半透明にしておくこともOK. (これらはユーザーフォームでも実現できますが、そのためのコードが煩雑になります) 2.挿入した図形の1つはメッセージ文言が入るように横長、この図形の名前を "MyMsg" にしておきます。 3.後の2つは、テキストとして、 はい と いいえ。名前を "MyYes" と "MyNo" にしておきます。 4.MyYes と MyNo に 以下の Reply をマクロ登録しておきます。 5.検索と選択 --> オブジェクトの選択と表示 で、すべて非表示にしておきます。
標準モジュールに以下。 Test を実行し、そのあと はい か いいえ を選んでみてください。
Sub Test() Message "こんにちは、さようなら" End Sub
Sub Message(msg As String) With ActiveSheet.Shapes("MyMsg") .TextFrame2.TextRange.Characters.Text = msg .Visible = True End With ActiveSheet.Shapes("MyYes").Visible = True ActiveSheet.Shapes("MyNo").Visible = True
Beep
End Sub
Sub Reply() Select Case Application.Caller Case "MyYes" 'Yesの場合のコードをここに書く MsgBox "Yes" 'テスト確認用 Case "MyNo" 'No の場合のコードをここに書く MsgBox "No" 'テスト確認用 End Select
ActiveSheet.Shapes("MyMsg").Visible = False ActiveSheet.Shapes("MyYes").Visible = False ActiveSheet.Shapes("MyNo").Visible = False
End Sub
(β) 2016/07/10(日) 19:56
佳さん 有難うございました。 ユーザ−ホーム 経験がありませんが確認させて頂きます
βさん
有難うございました。
確認させて頂きます
お二人へ 確認すのが大変遅くなりすみませんでした 少し時間を頂きます 初心者9371 2016/07/11(月) 21:45
βさん 支援して頂いた内容、できました 1テキストボックス自体の名前を自分なりに変更できる 2Message "こんにちは、さようなら" のような ものがあり Sub Message(msg As String) With 〜 で指定の文字を名前を付けたテキストボックスに表示する 3テキストボックスを非表示にしておいてマクロで表示したり 非表示にしたりできる 4With ActiveSheet.Shapes("MyMsg") .TextFrame2.TextRange.Characters.Text = msg .Visible = True End With ここは難しいのでもう少し勉強します
結果、初めにテキストボックを任意の場所に置いておく
ことで画面上の邪魔にならなくできます
ユーザーフォームの方は
これからやってみます
有難うございました。
初心者9371 2016/07/15(金) 05:16
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.