Ewa.Workbook.getRangeA1Async (addressA1、コールバック、ユーザー コンテキスト)
**適用対象:**apps for SharePoint | Excel Services | SharePoint Server 2013
この記事の内容
戻り値
注釈
例
Excel"A1"範囲表記法を使用して、入力パラメーターとして非同期で開いているブック内には、指定したEwa.Rangeを取得します。
Ewa.Workbook.getRangeA1Async(addressA1, callback, userContext);
パラメーター
addressA1
A1 表記で表示する範囲。
callback
この関数は、要求が完了したときと呼ばれます。
userContext
非同期呼び出しの状態に渡すための方法として提供されているオブジェクトです。
戻り値
[Type]: Ewa.Range
注釈
**[Ewa.Workbook.getRangeA1Async]**メソッドは、入力パラメーターの 1 つに A1 表記法を使用して非同期で範囲を取得します。たとえば A4:B9、セル A4 に開始し、セル B9 までを指定したワークシート上にあるセル範囲を指定します。
注意
隣接していないセル範囲はサポートされません。Discontinguous の範囲を指定すると、範囲解析エラーが発生します。
シート名 (たとえば、"B1:C2") がないaddressA1を指定することができなくなります。
注意
[Ewa.Workbook.getRangeA1Async]は、グラフ シート上の範囲を生成することはできません。
その他の Excel アドレスsheetName!R1C1表記法だけでなくaddressA1を指定するときに使用することもできます。たとえば、紹介addressA1を指定する方法はすべてそのまま使用します。
Sheet3 の例です。NamedRange1、NamedRange1 名前付き範囲には
Sheet1!MyDefinedName、MyDefinedName 定義された名前
Table1 [Column4]、Table1 テーブルには
例
コード例を次のページにボタンとテキストの入力] ボックスを追加する方法を示します (A1 表記) の場合は、[テキスト ボックスに入力された範囲のアドレスをとるボタンonClickイベントにコードを追加し、指定した範囲をアクティブにします。コードの例を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(onApplicationReady);
}
function onApplicationReady()
{
// 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().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">