Visual Studio で開発する

Visual Studio 2012 で開発したマネージ コードを使用して InfoPath フォームを拡張することによって、フォームの機能を大幅に強化できます。 フォームを拡張したら、コードを含むフォームを SharePoint Server 2013 のフォーム ライブラリに発行できます。

マネージ コードを含む InfoPath フォームのプログラミングと展開は、次の 3 つの大まかな手順で始めることができます。

  1. Visual Studio 2012 を Microsoft Visual Studio Tools for Applications 2012 アドオンと共にインストールします。

  2. プログラミング言語を設定し、Visual Studio 2012 コード エディターでコードを記述してデバッグします。

  3. フォームのデザインとコードの開発が完了したら、フォーム テンプレートを SharePoint Server 2013 に発行できます。

次の理由から、SharePoint Server 2013 と互換性のあるフォームを作成することを検討してください。

  • InfoPath Forms Services を実行している SharePoint Server 2013 にフォームを展開すると、ブラウザーでフォームに入力できます。 これにより、InfoPath をインストールしていないユーザーもフォームを開いて使用できるようになります。

  • デザインするフォームのバージョンを 1 つに限定できます。 Microsoft SharePoint Server と互換性のあるフォームは InfoPath Filler とも互換性がありますが、InfoPath Filler としか互換性のないフォームをブラウザーで開くことはできません。

フォームを SharePoint に発行する方法としては、SharePoint のセキュリティで保護されたソリューションと管理者が展開するソリューションの 2 つがあります。 それぞれの発行方法と、現在のシナリオに最適な方法を判断する際の推奨事項の詳細については、「コードを含むフォームを発行する」を参照してください。 セキュリティで保護されたソリューションの例については、「サンドボックス ソリューションのサンプル」を参照してください。

Visual Studio での開発

Visual Studio 2012 と Microsoft Visual Studio Tools for Applications 2012 アドオンをインストールしたら、InfoPath マネージ コード ソリューションの開発をいつでも開始できます。

プログラミング言語の選択

InfoPath では、Visual Basic と C# の 2 種類の言語で 4 つのバージョンの InfoPath オブジェクト モデルを使用することによって、プログラミングのためのオプションを提供しています。 4 つのバージョンのオブジェクト モデルは、InfoPath 2013、InfoPath、Office InfoPath 2007、および Microsoft InfoPath 2003 と互換性があります。

プログラミング言語とオブジェクト モデルを指定するには

  1. InfoPath デザイン モードでフォーム テンプレート プロジェクトを開いた状態で、[ 開発] タブの [ 言語] をクリックします。

  2. [ フォームのオプション] ダイアログ ボックスの [ プログラミング] カテゴリで、[ フォーム テンプレートのコード言語] ボックスの一覧から使用する言語を選択します。 [ ターゲット バージョン] ボックスの一覧からオブジェクト モデルのバージョンを選択します。 InfoPath 2013 としか互換性のない ターゲット バージョン オプションには、" InfoPath" という名前の後にバージョンを表す年が付いていません。

    注:

    すべてのフォーム テンプレート型でコードがサポートされているわけではありません。 たとえば、 SharePoint リスト フォーム テンプレートの種類と テンプレート パーツ では、フォーム コードはサポートされていません。 コードをサポートしないフォーム テンプレートの種類を設計する場合、[ 開発者 ] タブは使用できません。 また、オブジェクト モデルの 4 つのバージョンすべてをサポートするのは、一部のフォーム テンプレート型のみです。 たとえば、 空のフォーム (InfoPath Filler) テンプレートの種類は、オブジェクト モデルの 4 つのバージョンをすべてサポートします (また、それらのバージョンでは InfoPath Filler とのみ互換性のあるフォーム テンプレートを作成します)、 空白のフォーム テンプレートは InfoPath 2013 と InfoPath のみをサポートします (InfoPath Filler とブラウザーの両方と互換性のあるフォーム テンプレートを作成します)。

    既定のプログラミング言語を設定できます。その場合、InfoPath フォーム デザイナーは選択した言語とオブジェクト モデル バージョンで常に起動するようになります。

既定のプログラミング言語を設定するには

  1. [ ファイル] タブをクリックし、[ オプション] をクリックします。

  2. [ InfoPath オプション] ダイアログ ボックスの [ 基本設定] セクションで、[ その他のオプション] をクリックします。

  3. [ オプション] ダイアログ ボックスの [ デザイン] タブの [ プログラミング用の既定値] セクションで、既定のプログラミング言語を選択します。

コードの作成

これで、InfoPath 2013 と Visual Studio 2012 を使用して開発作業を開始できます。

Visual Studio コード エディターを起動するには

  1. InfoPath デザイン モードでフォーム テンプレートを開きます。

  2. [ 開発] タブの [ コード エディター] をクリックします。

ヒント

[ 開発] タブのコマンド、ショートカット メニュー、およびその他のユーザー インターフェイスを使用して、コード エディターを起動し、フォームのイベント ハンドラーやコントロール イベントを自動的に追加することもできます。 詳細については、「イベント ハンドラーを追加する」を参照してください