Office関連

[Excel Services ECMAScript]アクティブセルが変更されたときのイベントを利用する。

埋め込んだExcelワークブックの、アクティブセルが変更されたときのイベントに関するコードです。
アクティブセルを変更すると、そのセルの情報をalertで表示します。

[Excel Services ECMAScript]選択範囲が変更されたときのイベントを利用する。」で紹介している「activeSelectionChanged」イベントと非常によく似ていますが細かい動作が異なります。
Ewa.EwaControl.add_activeCellChanged(function)」によると、その違いは下記の通りです。

The activeCellChanged event is distinct from the activeSelectionChanged event. The active cell is the cell that will receive input from the keyboard. The active selection is the range of cells that is currently selected. The active cell can change while the active range remains the same.

複数のセルを選択した状態でタブキーを押して動作を確認してみると、その違いが分かるでしょう。

<script type="text/javascript" src="http://r.office.microsoft.com/r/rlidExcelWLJS?v=1&kip=1"></script>
<script type="text/javascript">
    var fileToken = "SD92A165759188B352!265/-7880906317294423214/";

    if (window.attachEvent) {
        window.attachEvent("onload", loadEwaOnPageLoad);
    } else {
        window.addEventListener("DOMContentLoaded", loadEwaOnPageLoad, false);
    }

    function loadEwaOnPageLoad() {
        var props = {
            uiOptions: {
                showGridlines: false,
                showRowColumnHeaders: false,
                selectedCell: "'Sheet1'!A1"
            },
            interactivityOptions: { }
        };

        Ewa.EwaControl.loadEwaAsync(fileToken, "myExcelDiv", props, onEwaLoaded);
    }

    function onEwaLoaded(result) {
        ewa = Ewa.EwaControl.getInstances().getItem(0);
        ewa.add_activeCellChanged(cellChanged);
    }
    
    function cellChanged(rangeArgs) {
        var n = "シート名:" + rangeArgs.getRange().getSheet().getName() + "\n";
        n = n + "位置:" + rangeArgs.getRange().getRow() + " , " +  rangeArgs.getRange().getColumn() + "\n";
        n = n + "値:" + rangeArgs.getFormattedValues();
        alert(n);
    }
</script>
<div id="myExcelDiv" style="width: 400px; height: 150px"></div>


・Ewa.EwaControl.add_activeCellChanged(function)
http://msdn.microsoft.com/en-us/library/ee589067.aspx
・Ewa.RangeEventArgs.getRange()
http://msdn.microsoft.com/en-us/library/ee660134.aspx
・Ewa.Range.getSheet()
http://msdn.microsoft.com/en-us/library/ee660133.aspx
・Ewa.Range.getRow()
http://msdn.microsoft.com/en-us/library/ee660091.aspx
・Ewa.Range.getColumn()
http://msdn.microsoft.com/en-us/library/ee660063.aspx
・Ewa.RangeEventArgs.getFormattedValues()
http://msdn.microsoft.com/en-us/library/ee660060.aspx

[Excel Services ECMAScript]選択範囲が変更されたときのイベントを利用する。前のページ

[Excel Services ECMAScript]セルにデータを入力する。次のページ

関連記事

  1. Office関連

    Excel 2013 新関数一覧

    「関数一覧(Excel 2010)」と「関数一覧(Excel 2013…

  2. Office関連

    UIAutomationClient参照時にDLL読み込みエラーが発生した時の対処法

    マクロでダイアログやボタンの操作を行う時に便利なUI Automati…

  3. Office関連

    関数一覧(Excel 2010)

    関数の挿入ダイアログから抽出したExcel 2010の関数情報をリスト…

  4. Office アドイン

    Office アドインの概要と開発方法を学ぶための自習書

    2018年10月27日(土)、品川の日本マイクロソフト本社で「2018…

  5. Office関連

    Excel Services JavaScript APIを試してみました(1)

    前回の記事で紹介した「ExcelMashup.com」、このサイトによ…

  6. Office関連

    [PowerShell]Word文書の透かし文字を変更するスクリプト

    MSDNフォーラムに「PowerShellを使って、Word文書の透か…

コメント

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP