• ベストアンサー

Notesのメッセージボックスについて

基本的な質問ですみません。。。 以下のようなスクリプトの場合、[中止]、[再試行]、[無視]の3つのボタンが表示されると思っていたのですが OKボタンしか表示されません・・・ どこを修正したらいいんでしょうか・・ Sub Initialize Dim msg As Integer msg = Messagebox("表示されるボタンは?", MB_ABORTRETRYIGNORE, "Test") End Sub ちなみに、バージョンは6.5.3です。

質問者が選んだベストアンサー

  • ベストアンサー
  • ken_pe66
  • ベストアンサー率20% (53/264)
回答No.1

MessageBox 関数とステートメント のヘルプは読んだろうか? ここだけじゃ無理ですが、、 MB_ABORTRETRYIGNOREを使うためには、 ローカルにLSSファイル(コンスト値一覧)の読み込みが 事前に必要です。(%Include と %If を使用する の項目も読んでね) このまま最小で修正するなら、ヘルプに書いてある値 (数字)を地かに記述すればOKです。 (値と書いてある数字です。) 蛇足:各項目数字の足し算で表示形式がかわります。

cncnx827
質問者

お礼

できました! 基本的なことがわかっていなくてすみませんToT ありがとうございました☆

関連するQ&A

  • メッセージボックスに「変数名」そのものを表示したい(Excel2000)

    依頼日という名の変数があります。 標準モジュールに Public Sub ChkNull(hikisuu As Variant) Select Case hikisuu Case 0, Null, Nothing, "" Dim Msg As Integer Msg = MsgBox(hikisuu & "が空欄になっていますよ。注意してください。"     _, vbOKOnly, "告知") End Select End Sub とし、 Sheetのプロシージャ内で ChkNull 依頼日 として、各変数が0等の場合は、 「○○○○が空欄になっていますよ。注意してください。」と 告知のメッセージボックスが出てくるようにしています。 現在、○○○○には変数「依頼日」の値が表示されていますが、 これを「依頼日」と変数名そのものが表示できるようにするには、 hikisuuの部分をどう記述すればよいのでしょうか? 仕事の都合でVBAを使わざるを得なくなった程度の初心者ですが、 なんとか、教えていただけますようお願い申し上げます。

  • Active Basicで、バツボタンを押したときの処理

    Active Basicでプログラムを書いていて、『×』ボタンを押すと、終了の確認のメッセージを出して、『はい』なら終了、『いいえ』ならプログラムの継続といったものを作りたいのですが、出来ません。 Sub MainWnd_QueryClose(ByRef cancel As Integer) If MessageBox(hMainWnd,"終了しますか?","確認",MB_YESNO or MB_ICONINFORMATION) = IDNO Then Exit Sub End If End Sub 今回使ったコードです。 すみませんが、何処を修正すれば良いかご存知の方、ご教授ください。

  • VBA のメッセージボックスに・・・

    Private Sub CommandButton1_Click() Dim intMsg As Integer Dim x As Double x = Val(Cells(3, 2).Value) / Val(Cells(2, 2).Value) ^ 2 Cells(2, 5) = x intMsg = MsgBox("指数は&x&" & vbCrLf & "&z&です。") Select Case x Case 0 To 18 MsgBox "やせぎみ" Case 19 To 25 MsgBox "普通" Case 26 To 30 MsgBox "太り気味" Case Else MsgBox "危険" End Select End Sub ってプログラムを組んだのですが メッセージボックスに結果が表示されません。 計算して出た値を、メッセージボックス内のxとzで表示させたいのですが・・・ &ではさむ?だけではだめなんですか?

  • VBA 標準モジュールとフォーム

    ある標準モジュール内で生成した変数の値をフォームのコマンドボタンをクリックしたら表示されるプログラムはどうやってつくるのですか? 標準モジュール sub test() dim a as integer dim b as integer dim sum as string a=5 b=1 sum=a+b End sub フォームのコマンドボタンクリック Sub CommandButton1_Click() MsgBox sum End Sub 標準モジュールで計算した答えがフォームのコマンドボタンをクリックしたら答え6が表示されるようにしたいのですが、どうしたらできますか?

  • メッセージボックスについて。

    上司に言われた締め切りがあと4日になってしまいました。 在庫管理で在庫残高シートに次のプログラムをはってみました。 Private Sub Worksheet_Change(ByVal Target As range) Dim clm As Integer '変化したセルの列 Dim row As Integer '変化したセルの行 Dim counter As Integer '不足数 clm = Target.Column row = Target.row If Worksheets("在庫残高").Cells(row, clm) < Worksheets("在庫限界入力").Cells(row, clm) And Worksheets("在庫残高").Cells(row, clm) > 0 Then counter = Worksheets("在庫限界入力").Cells(row, clm) - Worksheets("在庫残高").Cells(row, clm) MsgBox counter & "本在庫不足", vbOKOnly, "注意" Else If Worksheets("在庫残高").Cells(row, clm) < 0 Then MsgBox "在庫がありません", vbOKOnly, "警告" End If End If End Sub アクティブになってる入力シートに入力したときに、アクティブシートにメッセージボックスを出したいのですが、どうすればよいでしょう。複数の入力シートに これを全て貼り付けることも考えましたが、入力シートの何個かのセルが、 在庫残高シートの一つのセルに参照されるようになっているので、そうしないほうが、 いいんじゃないかなとおもいました。 よろしくお願いします。

  • エクセル VBA リストボックス 一覧処理

    エクセル VBA リストボックス 一覧処理 シートから文字列を検索 ↓ リストボックス表示 ↓ 表示結果をクリック ↓ 空欄時入力 ↓ 更新 上記の流れをVBAで行いたいのですが、結果表示されたリストを選択 詳細を表示し、空欄においては都度入力した物を更新ボタンでセルへ 反映させるにはどの様にすればいいのでしょうか? Public Sub 検索(ByVal Namae As String, ByRef MeNamae As Object) Dim Nagasa As Integer Dim i As Long Dim MaxRows As Long Dim SAGASU As Object Dim KensakuChar As String Dim ListNamae As String Dim ListChar As String Dim KBanme As Integer Dim LBanme As Integer Set SAGASU = Worksheets("2月") MaxRows = SAGASU.UsedRange.Rows.Count Nagasa = Len(Namae) MeNamae.ListBox1.Clear For i = 3 To MaxRows ListNamae = SAGASU.Cells(i, 3) KBanme = 0 LBanme = 0 Do Do While Nagasa >= KBanme KBanme = KBanme + 1 KensakuChar = Mid(Namae, KBanme, 1) If KensakuChar <> " " Then Exit Do End If Loop Do While Nagasa >= LBanme LBanme = LBanme + 1 ListChar = Mid(ListNamae, LBanme, 1) If ListChar <> " " Then Exit Do End If Loop If KensakuChar = ListChar Then If Nagasa = KBanme Then With MeNamae .ListBox1.AddItem (ListNamae) End With End If Else Exit Do End If Loop Until Nagasa <= KBanme Next End Sub --------------- Private Sub UserForm_Initialize() Set SAGASU = Worksheets("2月") Maxl = SAGASU.UsedRange.Rows.Count End Sub --------------- Private Sub CommandButton1_Click() Dim Namae As String Dim MeNamae As Object Namae = TextBox1.Text Set MeNamae = KensakuForm Call 検索(Namae, MeNamae) End Sub ---------------- Private Sub CommandButton2_Click() End End Sub ---------------- Private Sub ListBox1_Click() ListIdx = ListBox1.ListIndex Namae = ListBox1.List(ListIdx) End Sub 文字数制限の為、一部抜いていま

  • 矢印の所のようにしたら。。。

    矢印の所のようにしたら、subまたはfunctionが定義されていませんって出ます。いくら変えてみてもだめです。解決できる方助言してください。お願いします。 Const maxMONDAI = 5 '問題の最大数格納場所 Dim MONDAI_NOKORI '残り問題数格納場所 Dim MONDAI_NO As Integer '現在の問題番号格納場所 Dim SEIKAI As Integer '正解した問題数格納場所 Function GETMONDAI_NO() As Integer Randomize '以下の式で「1-5」までの整数を作る。 GETMONDAI_NO = Int(Rnd * maxMONDAI) + 1 End Function '初期設定 Sub initialize() MONDAI_NOKORI = maxMONDAI '残り問題数を初期値に戻す。 End Sub '終了ボタンを押した時の動き Private Sub cmdEND_Click() Dim END_BT As Integer END_BT = MsgBox("終了しますか?", vbYesNo + vbQuestion, "終了の確認") If END_BT = vbYes Then End End If End Sub '開始ボタンを押した時の動き Private Sub cmdSTART_Click() Call initialize '初期設定呼び出し MONDAI_NO = GETMONDAI_NO '現在の問題番号を得る。 txtRANSU.Text = Str(GETMONDAI_NO) '乱数の表示デバック用 txtNOKORI.Text = Str(MONDAI_NOKORI) '残り問題数の表示 imgHYOUJI.Picture = Pic2.Picture '←ここをimgHYOUJI.picture=pic(MONDAI_NO).pictureにしたい。 End Sub

  • VBAでFunctionの使い方

    エクセルのVBAでFunctionの使い方がいまいちよくわかりません。 Function msg() Dim h As Integer h = Hour(Time) Select Case h Case Is < 12: msg = "おはようございます。" Case Is < 17: msg = "こんにちは。" Case Else: msg = "こんばんは。" End Select End Function Sub 挨拶() MsgBox msg End Sub とやってみたら一応正しく動くようですが、これであっているのでしょうか? 他の例などを見るとFunction msg()の()内にも何か入れなければならないようなのですが、わかりません。

  • EXCEL VBA 多種のコンボボックス操作

    こんばんは。 現在ユーザーフォーム上に10個のコンボボックスを配置しています。 1-8は共通リストを、9と10は別々のリストを表示させたいのですが・・ Private Sub UserForm_Initialize() Dim X, No, Y As Integer With UserForm2 For No = 1 To 8 For X = 0 To 7 .Controls("ComboBox" & No).AddItem Worksheets("Letter").Cells(X + 1, 10).Value Next Next For Y = 0 To 7 .ComboBox9.AddItem Worksheets("Letter").Cells(Y + 1, 11).Value .ComboBox10.AddItem Worksheets("Letter").Cells(Y + 1,12).Value Next End With End Sub 上記のコードですが、エラーが出てどうにも行き詰っています。 Private Sub UserForm_Initialize() Dim X, No As Integer For No = 1 To 8 For X = 0 To 7 UserForm2.Controls("ComboBox" & No).AddItem Worksheets("Letter").Cells(X + 1, 10).Value Next Next End Sub ↑だと1-8まで問題なく動くのですが・・・ すみませんが、アドバイスお願いいたします。

  • メッセージBOXの「はい」「いいえ」の処理について

    お世話になっております。 エクセルマクロで処理を行うときに メッセージBOXにて「はい」か「いいえ」のボタンを押して 実行か中断の処理を行なっていたいのですが、 「いいえ」を押しても処理が実行されてしまいます。 以下で作成しております。 Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub IP呼び出し() Dim keizoku As Integer Dim rc As Long rc = MsgBox("処理を続けますか?", vbYesNo + vbQuestion) If rc = vbYes Then MsgBox "処理を続けます", vbInformation Else MsgBox "処理を中止します", vbCritical End If Dim Wsh, wExec, cmd, rRes, i, j Dim sBuf() As String Set Wsh = CreateObject("WScript.Shell") For i = 2 To Cells(Rows.Count, 3).End(xlUp).Row Set wExec = Wsh.exec("%ComSpec% /c nslookup " & Cells(i, 3)) Do While wExec.Status = 0 DoEvents Loop Sleep 1 rRes = wExec.StdOut.ReadAll 'MsgBox rRes sBuf = Split(rRes, vbCrLf) For j = 0 To UBound(sBuf) If Left(sBuf(j), 5) = "Name:" Or Left(sBuf(j), 3) = "名前:" Then Cells(i, 18) = Trim(Right(sBuf(j), Len(sBuf(j)) - 5)) End If Next j Next i MsgBox "ドメインを確認して下さい。", vbOKOnly, "マクロが終了しました" End Sub Excel2010で行なっております。 ご教授の程、よろしくお願いいたします。