[方法] サーバーに保存して、プログラムによるアクセスを準備する
この例では、Excel ブックをサーバーに保存して、次のプログラムによるアクセスを準備する方法について説明します。次の手順を実行します。
名前付き範囲を含むブックを作成します。
信頼できる SharePoint ライブラリの場所にブックを保存します。
注意
既に SharePoint ドキュメント ライブラリを作成し、それを信頼できる場所にしたことを前提としています。この詳細については、「[方法] 場所を信頼する」および「[方法] スクリプトを使用してブックの場所を信頼する」を参照してください。
Excel Web ServicesSetCellA1 メソッドを使用して、ワークシート、名前付き範囲、およびセル値の値をプログラムによって指定します。値は、次に示す 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 MyParam 28 > MySnapshot.xlsx
この例では、args [1] は "MyParam"、args [2] は "28" であり、"GetSnapshot.exe" は作成するアプリケーションの名前です。サンプル プログラムを見つけるには、「[方法] ブック全体またはスナップショットを取得する」を参照してください。
名前付き範囲を作成するには
Microsoft Office Excel 2007 を起動します。
"Sheet1" の名前を "MyParamSheet" に変更します。
セル B2 に、「20」と入力します。
セル B3 に、「=2+B2」と入力します。
セル B3 を太字にします。
セル B2 を名前付き範囲にします。メニューの [数式/文字] をクリックします。セル B2 をクリックして選択します。[数式/文字] メニューの [範囲に名前を付ける] をクリックします。[新しい名前] ダイアログ ボックスの [名前] ボックスで、「MyParam」と入力します。
ローカル ドライブ上の任意の場所にブックを保存します。ブックに "TestMyParam.xlsx" という名前を付けます。
SharePoint ライブラリに保存するには
Microsoft Office ボタンをクリックし、[発行] をポイントして、[Excel Services] をクリックします。
[名前を付けて保存] ダイアログ ボックスで、[Excel Services のオプション] をクリックします。
[Excel Services のオプション] ダイアログ ボックスの [表示] タブで、[ブック全体] が選択されていることを確認します。
[パラメータ] をクリックします。
[追加] をクリックします。
[パラメータの追加] リストで、"MyParam" が表示されます。[MyParam] チェック ボックスを選択します。
[OK] をクリックします。[パラメータ] リストに "MyParam" が表示されていることを確認します。
[OK] をクリックします。
[名前を付けて保存] ダイアログ ボックスで、[Excel Services で開く] チェック ボックスをオフにします。
[ファイル名] ボックスで、このブックを保存する、信頼できる SharePoint ドキュメントへのパスを入力します。たとえば、http://MyServer002/MyDocumentLibrary/TestParam.xlsx と入力します。
[保存] をクリックします。
プログラムによって値を指定するには
Excel Web Services における SetCellA1 メソッドの署名は次のとおりです。
public void SetCellA1 ( string sessionId, string sheetName, string rangeName, Object cellValue, Out Status[] status )
SetCellA1 メソッドに対するワークシート、名前付き範囲、およびセル値の値を次のように設定します。
// Set a value into a cell. status = xlSrv.SetCellA1(sessionId, String.Empty, args[1], args[2]);
上記のコードでは、
args [1] は、名前付き範囲の名前です。この例では、"MyParam" です。
args [2] は、セルに設定する値です。値を設定するセルは、"MyParam" と呼ばれる args [1] の名前付き範囲です。
コマンド ラインを使用する場合、次のように引数に渡すことができます。
GetSnapshot.exe http://MyServer002/MyTrustedDocumentLibrary/TestMyParam.xlsx MyParam 28 > MySnapshot.xlsx
ブックのスナップショットを生成する場合、次のように表示されます。
セル B2 (名前付き範囲 "MyParam" を含む) には、プログラムによって入力された値 "28"が表示されます。
セル B3 には、新たに計算された値 "30" が表示されます。
セル B3 には、元の数式 "=2+B2" は表示されません。
セル B3 には、太字フォントの書式が保持されます。
注意
スナップショットの詳細については、「[方法] ブック全体またはスナップショットを取得する」を参照してください。 SetCellA1 メソッドの詳細については、Excel Web Services のリファレンス ドキュメントを参照してください。
See Also
タスク
[ウォークスルー] Excel Web Services を使用してカスタム アプリケーションを開発する