スクリプトを使用してフォーム テンプレートをカスタマイズする

適用先
InfoPath 2010 InfoPath 2013

重要

Microsoft InfoPath 2013 のサポートは、2026 年 7 月 14 日に終了しました。 サポートされている Microsoft 365 ソリューションに既存の InfoPath フォームとワークフローを移行することをお勧めします。 InfoPath の廃止について詳しくは、こちらをご覧ください。

スクリプトの記述に慣れている場合は、Microsoft JScript または Microsoft Visual Basic Scripting Edition (VBScript) スクリプト言語を使用して、Microsoft Office InfoPath フォーム テンプレートにスクリプトを追加できます。 スクリプトを追加すると、ルール、数式、データ検証、条件付き書式で使用できる機能を超えて、フォーム テンプレートをカスタマイズできます。 たとえば、ユーザーがフォーム テンプレートに基づいてフォーム内のビューを切り替えたときに、電子メール メッセージを作成して送信するスクリプトを追加できます。 スクリプトを使用してのみ電子メール メッセージを作成して送信するようにフォーム テンプレートを構成できます。

この記事の内容

概要

InfoPath フォーム テンプレートは、ルール、数式、データ検証、条件付き書式を使用してカスタマイズできます。 これらの機能は非常に柔軟性があり、さまざまなタスクを処理できますが、これらの機能の機能を超えるタスクもあります。 たとえば、ユーザーがフォームのテキスト ボックスに値を入力したときに、ルールを使用して電子メール メッセージを送信することはできません。 これらの機能の機能を超える方法でフォーム テンプレートをカスタマイズする必要があり、JScript または VBScript スクリプト言語を使用してスクリプトを記述することに慣れている場合は、ユーザーが新しいフォームを開くか、フォーム テンプレートに基づく既存のフォームを変更するときに実行するスクリプトを追加できます。

フォーム テンプレートにスクリプトを追加すると、InfoPath はMicrosoft Script Editor (MSE) を開始します。これにより、フォーム テンプレートにスクリプトを追加、編集、デバッグし、選択したイベントにカーソルを置きます。 InfoPath は、スクリプトにイベント ハンドラーを自動的に追加します。 イベント ハンドラーは、InfoPath フォーム テンプレートの関数コードであり、ユーザー アクションまたはフォーム内の XML データの変更に応答します。 たとえば、ユーザーがフォームを複数のネットワークの場所に保存する場合は、 OnSaveRequest イベント ハンドラーにスクリプトを追加できます。 ユーザーがフォーム テンプレートに基づいてフォームを保存するときに実行するスクリプトを追加すると、InfoPath はスクリプト エディターを起動し、次のいずれかのコードをスクリプトに追加します。

InfoPath によって追加されるコードは、選択したスクリプト言語によって異なります。

JScript

//=======
// The following function handler is created by Microsoft Office InfoPath.
// Do not modify the name of the function, or the name and number of arguments.
//=======
function XDocument::OnSaveRequest(eventObj)
{
   // Write the code to be run before saving here.
   eventObj.IsCancelled = eventObj.PerformSaveOperation();
   // Write the code to be run after saving here.
   eventObj.ReturnStatus = true;
}

Vbscript

'=======
' The following function handler is created by Microsoft Office InfoPath.
' Do not modify the name of the function, or the name and number of arguments.
'=======
Sub XDocument_OnSaveRequest(eventObj)
' Write the code to be run before saving here.
eventObj.IsCancelled = eventObj.PerformSaveOperation
' Write the code to be run after saving here.
eventObj.ReturnStatus = True
End Sub

その後、フォームを別のネットワークの場所に保存するイベント ハンドラー内の適切な場所にコードを追加できます。 ユーザーがこのフォーム テンプレートに基づいてフォームを保存すると、InfoPath は OnSaveRequest イベント ハンドラーでコードを実行します。

この記事では、フォーム テンプレートでスクリプトを作成する方法の概要を示します。 InfoPath で使用されるMicrosoft Script Editorと特定のオブジェクト、メソッド、イベント、プロパティの詳細については、InfoPath 開発者のリファレンスを参照してください。

InfoPath は、次のいずれかのイベントを含むすべてのイベントハンドラーを自動的に追加します。

イベント ハンドラー 説明 作成手順
Onafterchange このイベントは、ユーザーがフィールドにバインドされた指定されたコントロールの値を変更した後に実行されます。 たとえば、ユーザーがリスト ボックス コントロールで項目を選択した後に、カスタム HTML 作業ウィンドウを表示できます。 このイベントは 、OnValidate イベントの後に実行されます。 フォーム テンプレートのコントロールまたは [データ ソース ] 作業ウィンドウのフィールドを右クリックし、ショートカット メニューの [ プログラミング ] をポイントし、[ 変更後のイベント] をクリックします。
OnAfterImport このイベントは、ユーザーが複数のフォームを 1 つのフォームに正常にマージした後に実行されます。 MSE を使用して 、OnAfterImport イベント ハンドラー宣言をスクリプト ファイルに直接手動で追加します。 このイベント ハンドラーは、デザイン モードでは作成できません。
OnBeforeChange このイベントは、ユーザーがコントロール内の値を変更した後、そのコントロールにバインドされた指定されたフィールドに値が追加される前に実行されます。 たとえば、ユーザーが繰り返しテーブルの最後の行に入力する前に、追加の行を追加できないようにすることができます。 フォーム テンプレートのコントロールまたは [データ ソース ] 作業ウィンドウのフィールドを右クリックし、ショートカット メニューの [ プログラミング ] をポイントし、[ イベントの変更前にオン] をクリックします。
OnClick このイベントは、ユーザーがこのイベントに関連付けられているボタンをクリックしたときに実行されます。 このイベントは、フォーム テンプレートにボタンを追加した後で使用できます。 たとえば、ユーザーがボタンをクリックしたときにメイン データ ソースのフィールドの値を使用して、複雑な計算を実行できます。 ボタン コントロールをダブルクリックし、[ボタンのプロパティ] ダイアログ ボックスの [全般] タブで、[フォーム コードの編集] をクリックします。
OnContextChange このイベントは、フォームでフォーカスが変更されたときに実行されます。 たとえば、このイベントは、ユーザーがテキスト ボックスから日付ピッカーに移動したとき、またはユーザーがビューを切り替えたときに実行されます。 このイベントは、他のすべてのイベントが発生した後に発生します。 [ ツール ] メニューの [ プログラミング] をポイントし、[ コンテキスト変更イベント] をクリックします。
Onload このイベントは、ユーザーが新しいフォームを作成したり、フォーム テンプレートに基づいて既存のフォームを開いたりするたびに実行されます。 たとえば、ユーザーがフォームを開いたときに、セカンダリ データ ソースからメイン データ ソースに項目の一覧をコピーできます。 [ ツール ] メニューの [ プログラミング] をポイントし、[ 読み込みイベントのオン] をクリックします。
OnMergeRequest このイベントは、フォーム テンプレートに基づくフォームがマージされるときに実行されます。 たとえば、マージ操作中にユーザーに状態を与えるためにマージされたフォームの数を表示できます。 [ ツール ] メニューの [ フォーム オプション] をクリックします。 [ カテゴリ ] の一覧で、[ 詳細設定] をクリックします。 [フォームのマージ] で、[カスタム コードを使用してマージチェック] ボックスを選択し、[編集] をクリックします。
OnSaveRequest このイベントは、ユーザーがフォーム テンプレートに基づいてフォームを保存するときに実行されます。 たとえば、ユーザーがフォームを保存するときに、このフォーム テンプレートに基づいてフォームを複数の場所に保存できます。 InfoPath では、このイベントに 2 行のコードが追加されます。フォームを保存する行と、InfoPath がフォームを正常に保存したかどうかを示す別の行が追加されます。 [ ツール ] メニューの [ フォーム オプション] をクリックします。 [ カテゴリ ] の一覧で、[ 開いて保存] をクリックします。 [Save behavior]\(動作の保存\) で、[カスタム コードを使用して保存] チェック ボックスを選択し、[編集] をクリックします。
Onsign このイベントは、ユーザーがフォームにデジタル署名を適用するときに実行されます。 たとえば、ユーザーが署名するときに、経費精算書フォームのデジタル署名にデータを追加できます。 [ ツール ] メニューの [ プログラミング] をポイントし、[ サインオン イベント] をクリックします。
OnSubmitRequest このイベントは、ユーザーがフォーム データを送信したときに実行されます。 たとえば、ユーザーが [ファイル] メニューの [送信] をクリックしたときに、フォーム データをセキュリティで保護された Web サービスに送信できます。 InfoPath はセキュリティで保護された Web サービスへのデータ接続をサポートしていないため、セキュリティで保護された Web サービスと連携するカスタム データ接続を追加する必要があります。 [ ツール ] メニューの [ 送信オプション] をクリックします。 [ユーザーにこのフォームの送信を許可する] チェック ボックスを選択し、[コードを使用してカスタム アクションを実行する] をクリックし、[コードの編集] をクリックします。
OnSwitchView このイベントは、ユーザーがフォーム テンプレートに基づいてフォームを開くか、フォーム内の別のビューに切り替えたときに実行されます。 たとえば、ユーザーが特定のビューに切り替えたときに、フォームのメイン データ ソースのフィールドからのデータを含む電子メール メッセージを作成できます。 [ ツール ] メニューの [ プログラミング] をクリックし、[ スイッチ ビュー イベント] をクリックします。
Onvalidate このイベントは、ユーザーがフィールドにバインドされたコントロールの値を変更したときに実行されます。 たとえば、ユーザーが特定のコントロールの値を変更した場合、ユーザーが入力した数値とスクリプト内の数値を使用して、別のコントロールの新しい値を計算できます。 このイベントは、 OnBeforeChange イベント ハンドラーの実行後に発生します。 フォーム テンプレートのコントロールまたは [データ ソース ] 作業ウィンドウのフィールドを右クリックし、ショートカット メニューの [ プログラミング ] をポイントし、[ イベントの検証後にオン] をクリックします。
OnVersionUpgrade このイベントは、ユーザーが既存のフォームを開き、既存のフォームで使用されるフォーム テンプレートのバージョン番号が発行場所のフォーム テンプレートのバージョン番号より古い場合に実行されます。 ユーザーが既存のフォームを開くと、InfoPath は既存のフォームに関連付けられているフォーム テンプレートのバージョン番号を確認します。 フォーム テンプレートのバージョン番号が新しい場合、InfoPath は、ユーザーが既存のフォームを開いたときに OnVersion イベント ハンドラーを実行します。 たとえば、既存のフォーム テンプレートに新しいフィールドを追加して再発行し、ユーザーが既存のフォームを開いた場合にメイン データ ソースに新しいフィールドを追加するとします。 このイベントは、ユーザーが既存のフォームを開いたときに、メイン データ ソースに新しいフィールドを追加します。 [ ツール ] メニューの [ フォーム オプション] をクリックします。 [ カテゴリ ] ボックスの一覧で、[ バージョン管理] をクリックします。 [ バージョンのアップグレード時 ] の一覧で、[ カスタム イベントを使用する] をクリックし、[ 編集] をクリックします。

ページの先頭へ

互換性に関する考慮事項

ブラウザー互換のフォーム テンプレートにスクリプトを追加することはできません。 スクリプトは、フォームが InfoPath に入力されるフォーム テンプレートにのみ追加できます。 ブラウザーと互換性のあるフォーム テンプレートは、マネージド コードを使用してのみカスタマイズできます。

ページの先頭へ

フォーム テンプレートのスクリプト言語を設定する

スクリプトを使用してフォーム テンプレートをカスタマイズするには、Microsoft JScript または Microsoft Visual Basic Scripting Edition (VBScript) を使用できます。 既定では、InfoPath は JScript を使用してスクリプトを追加するように構成されています。 フォーム テンプレートにスクリプトまたはマネージド コードが含まれていない場合、スクリプト言語として VBScript を使用する場合は、フォーム テンプレートのスクリプト言語を VBScript に変更できます。 同じフォーム テンプレートで両方のスクリプト言語を使用することはできません。

フォーム テンプレートに 1 つの言語のスクリプトが既に含まれており、もう一方の言語を使用する場合は、スクリプトを他の言語に変換できるように既存のスクリプトを保存し 、[フォーム オプション] ダイアログ ボックスからフォーム テンプレートからスクリプトを削除してから、変換したスクリプトをフォーム テンプレートに追加し直す必要があります。 InfoPath では、スクリプトを新しいスクリプト言語に変換できません。 [ フォーム オプション] ダイアログ ボックスでスクリプト言語を変更すると、このフォーム テンプレートにのみ影響します。 他のフォーム テンプレートには、既定のスクリプト言語として JScript が含まれます。

  1. [ ツール ] メニューの [ フォーム オプション] をクリックします。

  2. [ カテゴリ ] ボックスの一覧の [ フォーム オプション] ダイアログ ボックスで、[ プログラミング] をクリックします。

  3. [ フォーム テンプレート のコード言語 ] ボックスの一覧の [ プログラミング言語] で、[ VBScript] をクリックします。

    • スクリプト言語を設定し、フォーム テンプレートの 1 つ以上のイベント ハンドラーを作成した後、フォーム テンプレートのスクリプト言語を変更することはできません。
    • Microsoft Visual Studio 2005 Tools for Applications をインストールしている場合、既定の言語は Microsoft Visual Basic .NET です。 この手順を引き続き使用して、スクリプト言語を VBScript に変更できます。

ページの先頭へ

イベントが発生するたびにメッセージを表示する

アクションまたはその他のイベントに応答して実行されるイベント ハンドラーを知りたい場合は、イベント ハンドラーの実行時にメッセージ ボックスを表示する一時的なコードを追加できます。 このコードは、イベント ハンドラーがいつ実行するかを判断する場合にのみ使用する必要があります。 このコードを追加した後、プレビューを使用して、このフォーム テンプレートに基づいてフォームを表示したり、フォーム テンプレートを発行して新しいフォーム テンプレートを作成したりできます。 一部のイベント ハンドラーは、フォーム テンプレートを発行した後にフォームを作成した場合にのみ実行されます。 その後、イベント ハンドラーを実行すると思われるアクションを実行できます。 イベント ハンドラーが実行されると、メッセージ ボックスが表示されます。

イベント ハンドラーを実行するアクションまたはイベントを決定したら、コードを削除してから、フォーム テンプレートの設計を再開します。 このコードを削除せず、フォーム テンプレートを発行すると、イベント ハンドラーの実行時にユーザーにこのメッセージ ボックスが表示されます。

  1. イベント ハンドラーを追加します。

  2. JScript でコードを追加するには、「 XDocument.UI.Alert("The Event name event just ran")」と入力します。 をイベント ハンドラーの名前に置き換えます。 たとえば、このコードを OnValidate イベント ハンドラーに追加する場合は、「XDocument.UI.Alert("OnValidate イベント ハンドラーが実行されました」) と入力します

  3. VBScript でコードを追加するには、「XDocument.UI.Alert("The Event name event just ran") 」と入力します。たとえば、このコードを OnSaveRequest イベント ハンドラーに追加する場合は、「XDocument.UI.Alert("The OnSaveRequest event handler just ran") 」と入力します。

  4. コードをテストするには、[ファイル] メニューの [プレビュー] をクリックするか、Ctrl + Shift + B キーを押して、イベントを開始できるユーザー アクションを実行します。 コード行を含むイベントが発生すると、メッセージ ボックスにメッセージが表示されます。

    一部のイベントでは、ユーザー アクションを実行してイベントを開始する前に、フォーム テンプレートを発行してから、このフォーム テンプレートに基づいてフォームを作成することが必要になる場合があります。

  5. フォーム テンプレートを発行し、ユーザーがこのフォーム テンプレートに基づいてフォームに入力できるようにする前に、メッセージ ボックスを表示するために使用したコードを削除します。

ページの先頭へ

ユーザーがフォーム データを保存するときに実行されるスクリプトを追加する

  1. [ ツール ] メニューの [ フォーム オプション] をクリックします。

  2. [ カテゴリ ] ボックスの一覧の [ フォーム オプション] ダイアログ ボックスで、[ 開いて保存] をクリックします。

  3. [Save behavior]\(動作の保存\) で、[カスタム コードを使用して保存] チェック ボックスを選択し、[編集] をクリックします。 Microsoft Script Editorは、OnSaveRequest イベント ハンドラーのカーソルで始まります。
    JScript

    //=======
    // The following function handler is created by Microsoft Office InfoPath.
    // Do not modify the name of the function, or the name and number of arguments.
    //=======
    function XDocument::OnSaveRequest(eventObj)
    {
       // Write the code to be run before saving here.
       eventObj.IsCancelled = eventObj.PerformSaveOperation();
       // Write the code to be run after saving here.
       eventObj.ReturnStatus = true;
    }
    
    

    Vbscript

    '=======
    ' The following function handler is created by Microsoft Office InfoPath.
    ' Do not modify the name of the function, or the name and number of arguments.
    '=======
    Sub XDocument_OnSaveRequest(eventObj)
    ' Write the code to be run before saving here.
    eventObj.IsCancelled = eventObj.PerformSaveOperation
    ' Write the code to be run after saving here.
    eventObj.ReturnStatus = True
    End Sub
    
    
  4. 次のいずれか、または両方の操作を行います。

    • InfoPath がフォームを保存する前に実行されるスクリプトを追加するには、コメント Write the code to be run before saving here.をコードに置き換えます。
    • InfoPath がフォームを保存した後に実行されるスクリプトを追加するには、コメント Write the code to be run after saving here. をコードに置き換えます。
  5. 変更内容をテストするには、[標準] ツール バーの [プレビュー] をクリックするか、Ctrl キーと Shift キーを押しながら B キーを押します。

    フォーム テンプレートに基づいてフォームを作成した後にのみイベント ハンドラーが実行される場合は、[ファイル] メニューの [発行] をクリックしてフォーム テンプレートを発行し、発行ウィザードを完了します。 フォーム テンプレートを発行したら、フォームを作成し、イベント ハンドラーを実行するアクションを実行します。

ページの先頭へ

ユーザーがフォーム データを送信するときに実行されるスクリプトを追加する

  1. [ ツール ] メニューの [ 送信オプション] をクリックします。

  2. [送信オプション] ダイアログ ボックスで、[ユーザーにこのフォームの送信を許可する] チェック ボックスを選択します。

  3. [ コードを使用してカスタム アクションを実行する] をクリックし、[ コードの編集] をクリックします。 Microsoft Script Editorは、OnSubmitRequest イベント ハンドラーのカーソルで始まります。
    JScript

    //=======
    // The following function handler is created by Microsoft Office InfoPath.
    // Do not modify the name of the function, or the name and number of arguments.
    //=======
    function XDocument::OnSubmitRequest(eventObj)
    {
       // If the submit operation is successful, set
       // eventObj.ReturnStatus = true;
       // Write your code here
    }
    
    

    Vbscript

    '=======
    ' The following function handler is created by Microsoft Office InfoPath.
    ' Do not modify the name of the function, or the name and number of arguments.
    '=======
    Sub XDocument_OnSubmitRequest(eventObj)
    ' If the submit operation is successful, set
    ' eventObj.ReturnStatus = True
    ' Write your code here
    End Sub
    
    
  4. コメント If the submit operation is successful, set eventObj.ReturnStatus = true Write your code here をコードに置き換えます。

  5. 変更内容をテストするには、[標準] ツール バーの [プレビュー] をクリックするか、Ctrl キーと Shift キーを押しながら B キーを押します。

ページの先頭へ

ユーザーがボタンをクリックしたときに実行されるスクリプトを追加する

  1. フォーム テンプレートのビューに新しいボタンを追加し、ボタンをダブルクリックします。

    既存のボタンにスクリプトを追加する場合は、代わりに既存のボタンをダブルクリックします。

  2. [全般] タブをクリックします。

  3. [ フォーム コードの編集] をクリックします。 Microsoft Script Editorは、そのボタンの OnClick イベント ハンドラーのカーソルで始まります。
    JScript

    //=======
    // The following function handler is created by Microsoft Office InfoPath.
    // Do not modify the name of the function, or the name and number of arguments.
    //=======
    function Button Name::OnClick(eventObj)
    {
    // Write your code here
    }
    
    

    Vbscript

    '=======
    ' The following function handler is created by Microsoft Office InfoPath.
    ' Do not modify the name of the function, or the name and number of arguments.
    '=======
    Sub Button Name_OnClick(eventObj)
    ' Write your code here
    End Sub
    
    
  4. コメント Write your code here をコードに置き換えます。

  5. 変更内容をテストするには、[標準] ツール バーの [プレビュー] をクリックするか、Ctrl キーと Shift キーを押しながら B キーを押します。

ページの先頭へ

既存のフォームがマージされるときに実行されるスクリプトを追加する

  1. [ ツール ] メニューの [ フォーム オプション] をクリックします。

  2. [ カテゴリ ] ボックスの一覧の [ フォーム オプション] ダイアログ ボックスで、[ 詳細設定] をクリックします。

  3. [フォームの結合] で、[フォームのマージチェック有効にする] ボックスを選択します。

  4. [カスタム コードを使用してマージ] チェック ボックスを選択し、[編集] をクリックします。 Microsoft Script Editorは、OnMergeRequest イベント ハンドラーのカーソルで始まります。
    JScript

    //=======
    // The following function handler is created by Microsoft Office InfoPath.
    // Do not modify the name of the function, or the name and number of arguments.
    //=======
    function XDocument::OnMergeRequest(eventObj)
    {
    // Write the code that handles each form being merged here.
    XDocument.ImportDOM(eventObj.DOM);
    eventObj.ReturnStatus = true;
    }
    
    

    Vbscript

    '=======
    ' The following function handler is created by Microsoft Office InfoPath.
    ' Do not modify the name of the function, or the name and number of arguments.
    '=======
    Sub XDocument_OnMergeRequest(eventObj)
    ' Write the code that handles each form being merged here.
    XDocument.ImportDOM(eventObj.DOM)
    eventObj.ReturnStatus = True
    End Sub
    
    
  5. コメント Write the code that handles each form being merged here. をコードに置き換えます。

  6. このイベントのコードをテストするには、フォーム テンプレートを発行し、このフォーム テンプレートに基づいて複数のフォームを作成し、フォーム テンプレートをマージします。

    フォーム テンプレートの発行に関する詳細については、「関連項目」セクションのリンクを 参照してください

ページの先頭へ

既存のフォームを更新するスクリプトを追加する

以前に発行したフォーム テンプレートを更新し、そのフォーム テンプレートに基づいて既存のフォームを更新する場合は、ユーザーが既存のフォームのいずれかを開いたときに実行される更新されたフォーム テンプレートにスクリプトを追加できます。 ユーザーが既存のフォームを開くと、InfoPath は発行場所で関連付けられているフォーム テンプレートのバージョン番号を確認します。 発行場所のフォーム テンプレートのバージョン番号が既存のフォームのバージョン番号より新しい場合、更新されたことを示す InfoPath は、このイベントでコードを実行して既存のフォームを更新します。

  1. [ ツール ] メニューの [ フォーム オプション] をクリックします。

  2. [ カテゴリ ] ボックスの一覧の [ フォーム オプション] ダイアログ ボックスで、[ バージョン管理] をクリックします。

  3. [ バージョンのアップグレード時 ] の一覧で、[ カスタム イベントを使用する] をクリックし、[ 編集] をクリックします。 Microsoft Script Editorは、OnVersionUpgrade イベント ハンドラーのカーソルで始まります。
    JScript

    //=======
    // The following function handler is created by Microsoft Office InfoPath.
    // Do not modify the name of the function, or the name and number of arguments.
    //=======
    function XDocument::OnVersionUpgrade(eventObj)
    {
    // Write your code here
    }
    
    

    Vbscript

    '=======
    ' The following function handler is created by Microsoft Office InfoPath.
    ' Do not modify the name of the function, or the name and number of arguments.
    '=======
    Sub XDocument_OnVersionUpgrade(eventObj)
    ' Write your code here
    End Sub
    
    
  4. コメント Write your code here をコードに置き換えます。

  5. このイベントのコードをテストするには、フォーム テンプレートを発行し、このフォーム テンプレートに基づいて複数のフォームを作成し、フォーム テンプレートの更新バージョンを変更して発行してから、このフォーム テンプレートの以前のバージョンに基づいて既存のフォームを開きます。

    フォーム テンプレートの発行に関する詳細については、「関連項目」セクションのリンクを 参照してください

ページの先頭へ

他のイベントのスクリプトを追加する

このプロシージャを使用して、フォーム テンプレートに次のイベント ハンドラーを追加できます。

  • Onafterchange
  • OnBeforeChange
  • OnContextChange
  • Onload
  • OnSwitchView
  • Onsign
  • Onvalidate
  • [ ツール ] メニューの [ プログラミング] をポイントし、イベントハンドラーに追加するイベントをクリックします。 Microsoft Script Editorは、選択したイベント ハンドラーのカーソルから始まります。
  • コメント Write your code here をコードに置き換えます。

ページの先頭へ