サーバーに保存して、プログラムによるアクセスを準備する

最終更新日: 2010年4月14日

適用対象: SharePoint Server 2010

この例では、Excel ブックをサーバーに保存して、プログラムによるアクセスを準備する方法について説明します。次の手順を実行します。

  1. 名前付き範囲を含むブックを作成します。

  2. 信頼できる SharePoint ライブラリの場所にブックを保存します。

    注意

    既に SharePoint ドキュメント ライブラリを作成し、それを信頼できる場所にしたことを前提としています。この詳細については、「[方法] 場所を信頼する」を参照してください。

  3. Excel Web Services SetCellA1 メソッドを使用して、ワークシート、名前付き範囲、およびセル値の値をプログラムによって指定します。値は、次に示す args [1] と args [2] のように引数として渡されます。

    status = xlServices.SetCellA1(sessionId, String.Empty, args[1], args[2]);
    
    status = xlServices.SetCellA1(sessionId, String.Empty, args(1), args(2))
    

Web フォームまたはコマンド ラインを使用して、args [1] と args [2] の値を指定できます。

GetSnapshot.exe http://MyServer002/MyTrustedDocumentLibrary/TestMyParam.xlsx MyParam28 > MySnapshot.xlsx 

この例では、args [1] は MyParamargs [2] は 28 であり、GetSnapshot.exe は作成するアプリケーションの名前です。サンプル プログラムを見つけるには、「[方法] ブック全体またはスナップショットを取得する」を参照してください。

名前付き範囲を作成するには

  1. Excel を起動します。

  2. Sheet1 を MyParamSheet に名前変更します。

  3. セル B2 に、「20」と入力します。

  4. セル B3 に、「=2+B2」と入力します。

  5. セル B3 を太字にします。

  6. セル B2 を名前付き範囲にします。

    1. リボンで [数式/文字] タブをクリックし、次にセル B2 をクリックして選択します。

    2. [定義された名前] グループで、[名前の定義] をクリックします。

    3. [新しい名前] ダイアログ ボックスの [名前] テキスト ボックスで、「MyParam」と入力します。

  7. ローカル ドライブ上の任意の場所にブックを保存します。ブックに "TestMyParam.xlsx" という名前を付けます。

SharePoint ライブラリに保存するには

  1. [ファイル] メニューで、[保存と送信]、[SharePoint に保存] の順にクリックします。

  2. [SharePoint に保存] ダイアログ ボックスで、[発行オプション] をクリックします。

  3. [発行オプション] ダイアログ ボックスの [表示] タブで、[ブック全体] が選択されていることを確認します。

  4. [パラメータ] をクリックします。

  5. [追加] をクリックします。

  6. [パラメーターの追加] リストで、MyParam が表示されます。[MyParam] チェック ボックスをオンにします。

  7. [OK] をクリックします。[パラメーター] リストに MyParam が表示されていることを確認します。

  8. [OK] をクリックします。

  9. [SharePoint に保存] ダイアログ ボックスで、[名前を付けて保存] をクリックします。

  10. [名前を付けて保存] ダイアログ ボックスで、[ブラウザー上の Excel で開く] チェック ボックスをオフにします。

  11. [ファイル名] ボックスで、このブックを保存する、信頼できる SharePoint ドキュメント ライブラリへのパスを入力します。たとえば、「http://MyServer002/MyDocumentLibrary/TestParam.xlsx」と入力します。

  12. [保存] をクリックします。

プログラムによって値を指定するには

  1. Excel Web Services における SetCellA1 メソッドの署名は次のとおりです。

    public void SetCellA1 (
    string sessionId,
    string sheetName,
    string rangeName,
    Object cellValue,
    Out Status[] status
    )
    
    Public Sub SetCellA1(ByVal sessionId As String,
                  ByVal sheetName As String, 
                 ByVal rangeName As String, 
                 ByVal cellValue As Object, 
                 Out ByVal status() As Status)
    End Sub
    

    SetCellA1 メソッドに対するワークシート、名前付き範囲、およびセル値の値を次のように設定します。

    // Set a value into a cell.
    status = xlSrv.SetCellA1(sessionId, String.Empty, args[1], args[2]);
    
  2. 上記のコードでは、

    • args [2] は、名前付き範囲の名前です。この例では、MyParam です。

    • args [2] は、セルに設定する値です。値を設定するセルは、MyParam と呼ばれる args [1] の名前付き範囲です。

  3. コマンド ラインを使用する場合、次のように引数に渡すことができます。

    GetSnapshot.exe http://MyServer002/MyTrustedDocumentLibrary/TestMyParam.xlsx MyParam 28 > MySnapshot.xlsx

  4. ブックのスナップショットを生成する場合、次のように表示されます。

    • セル B2 (名前付き範囲 MyParam を含む) には、プログラムによって入力された値 "28" が表示されます。

    • セル B3 には、新たに計算された値 "30" が表示されます。

    • セル B3 には、元の数式 "=2+B2" は表示されません。

    • セル B3 には、太字フォントの書式が保持されます。

注意

スナップショットの詳細については、「[方法] ブック全体またはスナップショットを取得する」を参照してください。SetCellA1 メソッドの詳細については、Excel Web Services のリファレンス ドキュメントを参照してください。Web サービスの名前空間は、Microsoft.Office.Excel.Server.WebServices です。

関連項目

タスク

[方法] Excel クライアントからサーバーに保存する

[ウォークスルー] Excel Web Services を使用してカスタム アプリケーションを開発する

参照

Microsoft.Office.Excel.Server.WebServices

概念

SOAP API にアクセスする

ループバック SOAP 呼び出しと直接リンク

Excel Services の警告