ACC2000: 関数の"MsgBox/メッセージボックス"無視署名で (マーク @) の書式設定

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

242889
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
警告: 基本的なマクロ、コーディング、および相互運用性のスキルが必要です。

この資料でと Access プロジェクト (.adp)、Microsoft Access データベース (.mdb) に適用されます。

現象
Microsoft Access 2000 で、アット (マーク @) 行いません "MsgBox/メッセージボックス" 関数と共に使用するときに、特別な書式です。
原因
によって提供される書式をによって、Microsoft Visual Basic Editor (Vbe6.dll) を提供する、 MsgBox 関数はサポートしません、アット (マーク @)。
解決方法
考えられるソリューションの 2 つがあります。 1 つのソリューションは、マクロ、"MsgBox/メッセージボックス" アクション使用するがします。 他のソリューションを Eval 関数を使用して、"MsgBox/メッセージボックス" 関数を呼び出してするユーザー定義関数を記述です。

"MsgBox/メッセージボックス"アクションを使用するマクロの作成

  1. データベース ウィンドウでの [ オブジェクト ] の [ マクロ ] をクリックし、[ 新規作成 ] をクリックします。
  2. マクロ ウィンドウで [ 操作 ] の下の矢印をクリックし、 Msgbox [ アクション の一覧。
  3. アクションの引数 メッセージ ボックスにポインターを移動する F6 キーを押します。
  4. [ メッセージ ] ボックスに、次のメッセージを入力:
    間違った button!@This ボタンが work.@Try 別です。
  5. [ ファイル ] メニューの [ 名前を付けて保存 ] クリックし、既定の名前で、マクロを保存する [OK] をクリックします。
  6. [ 実行 ] の [ 実行 ] をクリックします。 メッセージの最初の行が太字ことを確認します。

FormattedMsgBox 関数を作成します。

Eval 関数には、個別に Visual Basic エディターから、"MsgBox/メッセージボックス" 関数の評価式サービスのアプリケーションを Visual Basic を強制して、記号の書式に活用するためにことはためです。 使用して、"MsgBox/メッセージボックス" 関数の代わりに FormattedMsgBox という名前のユーザー定義関数の例を次に示します。 FormattedMsgBox 関数を作成するには、次の手順に従います。
  1. Access を起動します。
  2. サンプル データベース Northwind.mdb を開きます。
  3. 新しいモジュールを作成します。
  4. 次の手順をモジュールに追加:
    Function FormattedMsgBox(Prompt As String, _                         Optional Buttons As VbMsgBoxStyle = vbOKOnly, _                         Optional Title As String = "Microsoft Access", _                         Optional HelpFile As Variant, _                         Optional Context As Variant) As VbMsgBoxResult    Dim strMsg As String    If IsMissing(HelpFile) Or IsMissing(Context) Then       strMsg = "MsgBox(" & Chr(34) & Prompt & Chr(34) & ", " & Buttons & _                 ", " & Chr(34) & Title & Chr(34) & ")"    Else       strMsg = "MsgBox(" & Chr(34) & Prompt & Chr(34) & ", " & Buttons & _                 ", " & Chr(34) & Title & Chr(34) & ", " & Chr(34) & _                      HelpFile & Chr(34) & ", " & Context & ")"    End If    FormattedMsgBox = Eval(strMsg)End Function					
  5. 表示される既定名は、 モジュール名 ] ボックスを使用して、モジュールを保存します。
  6. によって提供される特別な書式を使用する場合、アットマークでは、"MsgBox/メッセージボックス" の組み込み関数ではなく FormattedMsgBox 関数を呼び出します。 例:
    Sub TestMsgBox()    Dim lngResult As Long    lngResult = FormattedMsgBox("Extremely Important@This is an invalid operation.@Refer to online help.", _        vbCritical + vbOkOnly, "Microsoft Access")End Sub					
詳細
Microsoft Access の以前のバージョンで使用できます、アット "MsgBox/メッセージボックス" 関数内のメッセージ テキストの書式部分にします。 テキストで区切られたを使用して署名に 2 つ、"MsgBox/メッセージボックス" 関数のテキストに、記号で、メッセージ ボックス内の 3 つの段落太字テキストで最初の段落に区切られます。

この機能は、Access 97 でのアプリケーションのライブラリ (Vba332.dll)、Visual Basic によって提供されます。 Microsoft Access 2000 は、Microsoft Visual Basic Editor の統合、Vba332.dll されなく実装します。

問題の再現手順

  1. Access を起動します。
  2. サンプル データベース Northwind.mdb を開きます。
  3. 新しいモジュールを作成します。
  4. 次のコードをモジュールに追加:
    Option Compare DatabaseOption ExplicitSub FormatMessage()    Dim strMsgText As String    strMsgText = "Extremely Important@This is an invalid operation.@" & _                 "Refer to online help."    MsgBox strMsgTextEnd Sub					
  5. [イミディエイト] ウィンドウに表示この手順を実行します。
注意のメッセージには、リテラル文字列が含まれます"非常に Important@This が、無効な operation.@Refer のオンライン ヘルプを:" Microsoft Access 95 および 97 では、このメッセージの形式がテキストを含む 3 つの独立した段落に「非常に重要な」に太字、次のような。
非常に重要です

これは、無効な操作です。

オンライン ヘルプを参照します。
prb

警告: この資料は、自動翻訳されています

プロパティ

文書番号:242889 - 最終更新日: 02/10/2014 21:45:37 - リビジョン: 3.0

  • Microsoft Access 2000 Standard Edition
  • kbnosurvey kbarchive kbprb kbmt KB242889 KbMtja
フィードバック