次の方法で共有


[方法] InfoPath のツールキットまたはスクリプトを使用して作成したフォーム テンプレートを開くまたは変換する方法

InfoPath 2003 Toolkit for Visual Studio に含まれるツールキットを使用して InfoPath 2003 マネージ コード フォーム テンプレートを作成した場合に、InfoPath 2003 との互換性を維持するには、Microsoft Office InfoPath 2007 と Microsoft Visual Studio Tools for Applications (VSTA)、Visual Studio 2005 (Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System インストール済み)、または Visual Studio 2008 と Visual Studio Tools for Office でフォーム テンプレート プロジェクト開きます。これにより、引き続きそのフォーム テンプレート プロジェクトを使用して開発を進めることができます。

また、InfoPath 2003 プロジェクトのコードを移行およびアップグレードして、Microsoft.Office.InfoPath 名前空間によって提供される新しい .NET オブジェクト モデルを使用することもできます。その場合は、Microsoft.Office.InfoPath 名前空間のメンバを使用するようにすべてのコードを書き直す必要があります。ただし、以前のプロジェクトのコードはすべて、#if InfoPathManagedObjectModel ステートメントと #endif ステートメント (C# の場合) または #If InfoPathManagedObject Model ステートメントと #End If ステートメント (Visual Basic の場合) で囲まれて、参照用に維持されます。

スクリプトを含むフォーム テンプレートは、InfoPath Toolkit を使用して作成したフォーム テンプレートの手順で移行およびアップグレードすることはできません。この場合は、最初に、フォーム テンプレートのスクリプト ファイルからスクリプト コードをコピーして、参照用に保存しておく必要があります。その後、新しい InfoPath マネージ コード オブジェクト モデルを使用するようにフォーム テンプレートを変換し、ビジネス ロジックをマネージ コードで書き直します。

以下の手順では、InfoPath Toolkit で作成したマネージ コード フォーム テンプレートを開いて InfoPath 2003 との互換性を維持する方法と、新しい InfoPath オブジェクト モデルに移行およびアップグレードする方法を説明します。最後の手順では、ビジネス ロジックがスクリプトで書かれているフォーム テンプレートを変換する方法を説明します。

InfoPath Toolkit で作成したマネージ コード フォーム テンプレートを VSTA を使用して開き、InfoPath 2003 との互換性を維持する

  1. InfoPath を開き、[ファイル] メニューの [フォーム テンプレートのデザイン] をクリックします。

  2. [フォーム テンプレートを開く] で、[自分のコンピュータ上] をクリックします。

  3. InfoPath Toolkit フォーム テンプレート プロジェクトが保存されているプロジェクト フォルダに移動します。

    既定では、このフォルダは、プロジェクトを作成したコンピュータの C:\Documents and Settings\ユーザー名``\My Documents\Visual Studio Projects にあります。このフォルダを、InfoPath が VSTA プロジェクトを格納する場所 (既定の場所は C:\Documents and Settings\ユーザー名``\My Documents\InfoPath Projects) に移動することもできます。

  4. manifest.xsf という名前のファイルをクリックし、[開く] をクリックします。

  5. [ツール] メニューの [プログラミング] をポイントし、[Microsoft Visual Studio Tools for Applications] をクリックします。

  6. "Visual Basic または Visual C# コードを追加する前に、このフォーム テンプレートを保存する必要があります" というメッセージが表示されます。[OK] をクリックして続行します。

  7. ファイルを保存する場所に移動し、ファイルの名前を入力して、[保存] をクリックします。

  8. "このコードは InfoPath 2003 Toolkit for Microsoft Visual Studio に含まれるツールキットで作成されたものです。InfoPath では、このツールキット プロジェクトを新しい形式に移行する必要があります" というメッセージが表示されます。[OK] をクリックして続行します。

  9. プロジェクトの Visual Studio ソリューション (.sln) ファイルを選択し、[開く] をクリックします。

  10. 移行プロセスが完了すると、"プロジェクトが移行されました" というメッセージが表示されます。[OK] をクリックして続行します。

  11. "このフォームのコードは、InfoPath 2003 オブジェクト モデルを使用しています" というメッセージが表示され、"Microsoft Office InfoPath オブジェクト モデルを使用するようにコードをアップグレードしますか?" とたずねられます。InfoPath 2003 との互換性を維持し、Microsoft.Office.Interop.InfoPath.SemiTrust 名前空間によって提供されるオブジェクト モデルを引き続き使用するには、[いいえ] をクリックします。

    InfoPath 2003 と互換性のあるマネージ コード フォーム テンプレートの作業の詳細については、「InfoPath 2003 オブジェクト モデルを使用してマネージ コード フォーム テンプレートを開発する」を参照してください。

InfoPath Toolkit で作成したマネージ コード フォーム テンプレートを Visual Studio を使用して開き、InfoPath 2003 との互換性を維持する

  1. Visual Studio を開きます。

  2. [ファイル] メニューの [プロジェクトを開く] をクリックします。

  3. InfoPath Toolkit フォーム テンプレート プロジェクトが保存されているプロジェクト フォルダに移動します。

    既定では、このフォルダは、プロジェクトを作成したコンピュータの C:\Documents and Settings\ユーザー名``\My Documents\Visual Studio Projects にあります。このフォルダを任意の場所に移動することもできます。

  4. プロジェクトのソリューション ファイル (.sln) をクリックし、[開く] をクリックします。

    これで、このフォーム テンプレート プロジェクトの作業を続行し、InfoPath 2003 との互換性を維持することができます。InfoPath 2003 と互換性のあるマネージ コード フォーム テンプレートの作業の詳細については、「InfoPath 2003 オブジェクト モデルを使用してマネージ コード フォーム テンプレートを開発する」を参照してください。

InfoPath Toolkit で作成したマネージ コード フォーム テンプレートを VSTA を使用して開き、新しい InfoPath オブジェクト モデルを使用するようにアップグレードする

  1. InfoPath を開き、[ファイル] メニューの [フォーム テンプレートのデザイン] をクリックします。

  2. [フォーム テンプレートを開く] で、[自分のコンピュータ上] をクリックします。

  3. InfoPath Toolkit フォーム テンプレート プロジェクトが保存されているプロジェクト フォルダに移動します。

    既定では、このフォルダは、プロジェクトを作成したコンピュータの C:\Documents and Settings\ユーザー名``\My Documents\Visual Studio Projects にあります。このフォルダを、InfoPath が VSTA プロジェクトを格納する場所 (既定の場所は C:\Documents and Settings\ユーザー名``\My Documents\InfoPath Projects) に移動することもできます。

  4. manifest.xsf という名前のファイルをクリックし、[開く] をクリックします。

  5. [ツール] メニューの [プログラミング] をポイントし、[Microsoft Visual Studio Tools for Applications] をクリックします。

  6. "Visual Basic または Visual C# コードを追加する前に、このフォーム テンプレートを保存する必要があります" というメッセージが表示されます。[OK] をクリックして続行します。

  7. ファイルを保存する場所に移動し、ファイルの名前を入力して、[保存] をクリックします。

  8. "このコードは InfoPath 2003 Toolkit for Microsoft Visual Studio に含まれるツールキットで作成されたものです。InfoPath では、このツールキット プロジェクトを新しい形式に移行する必要があります" というメッセージが表示されます。[OK] をクリックして続行します。

  9. プロジェクトの Visual Studio ソリューション (.sln) ファイルを選択し、[開く] をクリックします。

  10. 移行プロセスが完了すると、"プロジェクトが移行されました" というメッセージが表示されます。[OK] をクリックして続行します。

  11. "このフォームのコードは、InfoPath 2003 オブジェクト モデルを使用しています" というメッセージが表示され、"Microsoft Office InfoPath オブジェクト モデルを使用するようにコードをアップグレードしますか?" とたずねられます。[はい] をクリックして、Microsoft.Office.InfoPath 名前空間によって提供される新しい InfoPath 2007 マネージ コード オブジェクト モデルを使用するようにフォーム テンプレートをアップグレードします。

    フォーム コードが VSTA コード エディタで開かれます。以前のプロジェクトのすべてのコードが、#ifInfoPathManagedObjectModel ステートメントと #endif ステートメント (C# の場合) または #If InfoPathManagedObjectModel ステートメントと #End If ステートメント (Visual Basic の場合) で囲まれて、参照用に維持されています。これらすべてのコードを、Microsoft.Office.InfoPath 名前空間によって提供されるオブジェクト モデルのメンバを使用するように書き換える必要があります。

    新しい InfoPath マネージ コード オブジェクト モデルを使用するマネージ コード フォーム テンプレートの作業の詳細については、「InfoPath マネージ コード フォーム テンプレートを開発する」を参照してください。

InfoPath Toolkit で作成したマネージ コード フォーム テンプレートを Visual Studio を使用して開き、新しい InfoPath オブジェクト モデルを使用するようにアップグレードする

  1. Visual Studio を開きます。

  2. [ファイル] メニューの [プロジェクトを開く] をクリックします。

  3. InfoPath Toolkit フォーム テンプレート プロジェクトが保存されているプロジェクト フォルダに移動します。

    既定では、このフォルダは、プロジェクトを作成したコンピュータの C:\Documents and Settings\ユーザー名``\My Documents\Visual Studio Projects にあります。 このフォルダを任意の場所に移動することもできます。

  4. プロジェクトのソリューション ファイル (.sln) をクリックし、[開く] をクリックします。

  5. [ソリューション エクスプローラ] で、[InfoPath フォーム テンプレート] を展開し、manifest.xsf を開きます。

  6. [ツール] メニューの [フォームのオプション] をクリックし、[プログラミング] カテゴリをクリックします。

  7. [プログラミング言語] で、[オブジェクト モデルのアップグレード] をクリックします。

  8. "このフォームのコードは、InfoPath 2003 オブジェクト モデルを使用しています" というメッセージが表示され、"Microsoft Office InfoPath オブジェクト モデルを使用するようにコードをアップグレードしますか?" とたずねられます。[はい] をクリックして、Microsoft.Office.InfoPath 名前空間によって提供される新しい InfoPath 2007 マネージ コード オブジェクト モデルを使用するようにフォーム テンプレートをアップグレードします。

    フォーム コードが VSTA コード エディタで開かれます。以前のプロジェクトのすべてのコードが、#if InfoPathManagedObjectModel ステートメントと #endif ステートメント (C# の場合) または #If InfoPathManagedObjectModel ステートメントと #End If ステートメント (Visual Basic の場合) で囲まれて、参照用に維持されています。これらすべてのコードを、Microsoft.Office.InfoPath 名前空間によって提供されるオブジェクト モデルのメンバを使用するように書き換える必要があります。

    新しい InfoPath マネージ コード オブジェクト モデルを使用するマネージ コード フォーム テンプレートの作業の詳細については、「InfoPath マネージ コード フォーム テンプレートを開発する」を参照してください。

スクリプトで書かれたビジネス ロジックを含むフォーム テンプレートを変換して、新しい InfoPath オブジェクト モデルを使用するようにアップグレードする

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

  2. [ツール] メニューの [プログラミング] をポイントし、[Microsoft Script Editor] をクリックします。

  3. [編集] メニューの [すべて選択] をクリックし、[コピー] をクリックします。

  4. script.js ファイルまたは script.vbs ファイルの内容をメモ帳に貼り付けて、後で参照できるようにファイルに保存します。

  5. [ツール] メニューの [フォームのオプション] をクリックし、[プログラミング] カテゴリをクリックします。

  6. [プログラミング言語] で、[コードの削除] をクリックし、[はい] をクリックします。

  7. [フォーム テンプレートのコード言語] で、[C#] または [Visual Basic] を選択し、[OK] をクリックします。

    既存のスクリプト イベント ハンドラとコードはすべて失われます。手順 4. で参照用に保存したスクリプト ファイルを使用して、それらを再作成する必要があります。新しい InfoPath マネージ コード オブジェクト モデルを使用するマネージ コード フォーム テンプレートの作業の詳細については、「InfoPath マネージ コード フォーム テンプレートを開発する」を参照してください。