Share via


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

この例では、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))
    

Args [1]args [2] の値は、Web フォームまたはコマンド ラインから指定できます。

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

この例では、 args [1] はMyParamargs [2]28GetSnapshot.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 [1] は名前付き範囲の名前です。 この例では「 MyParam」です。
  • args [2] はセルに設定する値です。 値が設定されるセルは、 MyParam という args [1] 内の名前付き範囲です。
  1. コマンド ラインを使用する場合は、次のように引数を渡します。

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

  2. ブックのスナップショットを作成すると、次のように表示されます。

  • セル B2 ( MyParam という名前範囲が付いている) には、「 28」という、プログラムを介して取り込んだ値が入ります。

  • セル B3 には、新しい値が計算されて「 30」が入ります。

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

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

注:

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

関連項目

タスク

方法: Excel クライアントからサーバーへの保存

リファレンス

Microsoft.Office.Excel.Server.WebServices

概念

SOAP API にアクセスする

SOAP 呼び出しのループバックおよび直接リンク

Excel Services のアラート

その他のリソース

チュートリアル: Excel Web Services を使用してカスタム アプリケーションを開発する