Ewa.AsyncResult.getUserContext()
**適用対象:**apps for SharePoint | Excel Services | SharePoint Server 2013
この記事の内容
戻り値
注釈
例
ユーザーのコンテキストを取得します。
var value = Ewa.AsyncResult.getUserContext();
戻り値
型: Object
注釈
**[AsyncResult.getUserContext]**メソッドは、非同期メソッド呼び出しに渡されたのと同じ値を返します。たとえば、 **[Workbook.getRangeA1Async(addressA1,callback,userContext)]**場所userContextが渡されたメソッドの最後の引数としてメソッド呼び出しを検討してください。非同期呼び出しで状態を渡すの発信者に応答する方法、 **[userContext]パラメーターが表示されます。Excel Services JavaScript オブジェクト モデル内のすべての非同期メソッドでは、署名の最後のパラメーターとして[userContext]**パラメーターがあります。
注意
のnullは、 userContextパラメーターの引数として渡されることができます。
例
コード例を次のページにボタンとテキストの入力] ボックスを追加 (A1 表記) の場合は、[テキスト ボックスに入力された範囲のアドレスをとるボタンonClickイベントにコードを追加し、指定した範囲をアクティブにします。コードでは、 AsyncResult.getUserContextメソッドを使用して、ユーザーの状態に渡されるコールバック メソッドを取得します。コードの例をExcel Web Access Web パーツでSharePoint Server 2013で作業していることを前提としています。
<script type="text/javascript">
var ewa = null;
// Add event handler for onload event.
if (window.attachEvent)
{
window.attachEvent("onload", ewaOnPageLoad);
}
else
{
window.addEventListener("DOMContentLoaded", ewaOnPageLoad, false);
}
// Add event handler for applicationReady event.
function ewaOnPageLoad()
{
Ewa.EwaControl.add_applicationReady(getEwa);
}
function getEwa()
{
// Get a reference to the Excel Services Web Part.
ewa = Ewa.EwaControl.getInstances().getItem(0);
}
function getRangeA1Button()
{
// Get the A1 address entered.
var a1Address = document.forms.aspnetForm.GetRangeAddress.value;
// Call getRangeA1Async with the A1 address entered.
ewa.getActiveWorkbook().getActiveSheet().getRangeA1Async(a1Address, getRangeA1Callback, null);
}
function getRangeA1Callback(asyncResult)
{
// getRangeA1Async returns a range object through the AsyncResult object
var range = asyncResult.getReturnValue();
// Activate the range that the user entered.
// Pass in range as user context so it can be used in callback.
range.activateAsync(0,2,activateAsyncCallback,range);
}
function activateAsyncCallback(asyncResult)
{
// activateAsync does not return a range through AsyncResult, so
// get the range from the user context passed in with activateAsync call.
var range = asyncResult.getUserContext();
// Display which address for which range was activated.
window.status = "Range located at A1 address: " + range.getAddressA1() + " was activated.";
}
</script>
<input type="button" id="GetRange" VALUE="Get Range" onclick="getRangeA1Button()">
<input type="text" id="GetRangeAddress" value="Enter A1 Address">