現在オフラインです。再接続するためにインターネットの接続を待っています

[INP2003] [HowTo] プログラムを使用して InfoPath フォームを SharePoint Team Services のドキュメント ライブラリに送信する方法

概要
この資料では、スクリプトを使用してフォーム データを Microsoft SharePoint Team Services のドキュメント ライブラリに送信するフォーム テンプレートをデザインする方法を、手順を追って説明します。

フォームのデータ ソースとレイアウトのデザイン

  1. Microsoft Office InfoPath を起動します。新しい空白のフォームをデザインします。
  2. [データ ソース] 作業ウィンドウで、手順 1. でデザインしたフォームにデータ ソースを追加します。データ ソースを追加するには、以下の手順を実行します。
    1. [マイフィールド] を右クリックして、[追加] をクリックします。

      [フィールドまたはグループの追加] ダイアログ ボックスが表示されます。
    2. フィールドの名前として FirstName と入力し、[OK] をクリックします。
    3. 手順 a. を繰り返します。フィールドの名前として MiddleInitial と入力し、[OK] をクリックします。
    4. 手順 a. を繰り返します。フィールドの名前として LastName と入力し、[OK] をクリックします。
  3. [マイフィールド] をフォームにドラッグします。
  4. [コントロール付きセクション] をクリックします。

フォーム データを SharePoint のドキュメント ライブラリに送信するスクリプトの追加

  1. [ツール] メニューの [フォームの送信] をクリックします。

    [フォームの送信] ダイアログ ボックスが表示されます。
  2. [フォームの送信] ダイアログ ボックスで、[送信を許可する] をクリックします。
  3. [送信] ボックスの一覧の [カスタム スクリプトを使って送信] をクリックします。
  4. [Microsoft Script Editor を起動する] チェック ボックスをオンにして、[OK] をクリックします。

    Microsoft Script Editor が起動します。
  5. OnSubmitRequest イベントを以下のように変更します。

    : コード内の strURL 変数の値を有効な URL に変更する必要があります。以下のコード内の URL は ServerName という名前のサーバー、SiteName という名前の SharePoint サイト、および DocumentLibraryName という名前のドキュメント ライブラリを参照しています。
    function XDocument::OnSubmitRequest(eventObj){    // If the submit operation is successful, set    // eventObj.ReturnStatus = true    var fSuccessful = false;     // Set the URL of the file that you want to submit here.    var strUrl = "http://ServerName/SiteName/DocumentLibraryName/testform.xml";     try     {         // Create an xmlhttp object.        var oXmlHttp = new ActiveXObject("MSXML2.XMLHTTP");         // Check whether the document with the same name already exists on SharePoint Team Services (STS).        oXmlHttp.Open("HEAD", strUrl, false);         oXmlHttp.Send();          //  No document with the URL has been found. Continue to submit.        // If you must replace the original file, you must call        // oXmlHttp.Open("DELETE", strUrl, false) to delete the document         // on STS first.        if (oXmlHttp.Status == 404)         {            // Put the document on STS.             oXmlHttp.Open("PUT", strUrl, false);             oXmlHttp.Send(XDocument.DOM.xml);             //  A 200 status code or a 201 status code indicates that the form has been submitted successfully.            if (oXmlHttp.Status == 200 || oXmlHttp.Status == 201)            {                fSuccessful = true;            }        }    }     catch (ex){}         if (fSuccessful)    {        XDocument.UI.Alert("Document submitted successfully!");         eventObj.ReturnStatus = true;    }    else    {        eventObj.ReturnStatus = false;    }}
  6. スクリプトを保存し、Script Editor を終了します。
  7. SubmitSTS.xsn という名前を付けてフォーム テンプレートを保存します。

フォームのテスト

  1. [ファイル] メニューの [フォームの入力] をクリックします。
  2. [フォームの入力] 作業ウィンドウで、[SubmitSTS] をクリックします。
  3. フォームに必要事項を入力します。
  4. [ファイル] メニューの [送信] をクリックします。

    フォームが正常に送信されると、フォームが正常に送信されたことを示すメッセージが表示されます。
  5. InfoPath を終了します。変更をフォームに保存するかどうかを確認するメッセージが表示された場合は、[いいえ] をクリックします。
  6. Microsoft Internet Explorer を起動し、ライブラリからドキュメントに移動します。たとえば、http://<サーバー名>/<サイト名>/<ドキュメント ライブラリ名> に移動します。

    testform という名前の新しい項目がドキュメント ライブラリに追加されています。
  7. testform 項目をクリックします。

    送信したフォームが InfoPath で表示されます。
関連情報
InfoPath フォームでスクリプトを扱う方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
828853 How To: Change the Script Language for Your InfoPath Form
828853 [INP2003] [HowTo] InfoPath フォームのスクリプト言語を変更する方法
827002 HOW TO: Debug a Script for a Microsoft Office InfoPath 2003 Form
827002 [INP2003] [HOWTO] Microsoft Office InfoPath 2003 フォーム用のスクリプトをデバッグする方法
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 826993 (最終更新日 2003-10-01) を基に作成したものです。

この資料に含まれているサンプル コード/プログラムは英語版を前提に書かれたものをありのままに記述しており、日本語環境での動作は確認されておりません。
プロパティ

文書番号:826993 - 最終更新日: 01/05/2011 04:13:00 - リビジョン: 2.0

  • kbhowto kbscript kbxml kbforms KB826993
フィードバック
html>tml>