Office関連

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

埋め込んだExcelワークブックのセルにデータを入力するコードです。
複数のセルにまとめて入力することも可能です。

<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);
    }
    
    function fnc1() {
        ewa.getActiveWorkbook().getActiveCell().getValuesAsync(0,getRangeValues,null);
    }
    
    function getRangeValues(asyncResult) {
        if (asyncResult.getCode() == 0) {
            alert(asyncResult.getReturnValue()[0][0]);
        } else {
            alert("Err:" + asyncResult.getDescription());
        }
    }
    
    function fnc2() {
        var ary = new Array();
        ary[0] = new Array();
        ary[0][0] = "1234567";
        ewa.getActiveWorkbook().getActiveCell().setValuesAsync(ary,setRangeValue,null);
    }
    
    function setRangeValue(asyncResult) {
        if (asyncResult.getCode() != 0) {
            alert("Err:" + asyncResult.getDescription());
        }
    }
    
    function fnc3() {
        var ary = new Array();
        ary[0] = new Array();
        ary[1] = new Array();
        ary[0][0] = "abc";
        ary[0][1] = "def";
        ary[0][2] = "ghi";
        ary[1][0] = "jkl";
        ary[1][1] = "mno";
        ary[1][2] = "pqr";
        ewa.getActiveWorkbook().getActiveSelection().setValuesAsync(ary,setRangeValues,null);
    }
    
    function setRangeValues(asyncResult) {
        if (asyncResult.getCode() != 0) {
            alert("Err:" + asyncResult.getDescription());
        }
    }
</script>
<input type="button" value="値取得" onclick="fnc1();"></input><br>
<input type="button" value="値入力" title="1セルのみ選択して実行" onclick="fnc2();"></input><br>
<input type="button" value="値入力(複数セル)" title="2x3のセル範囲を選択して実行" onclick="fnc3();"></input>
<div id="myExcelDiv" style="width: 400px; height: 150px"></div>





・Ewa.Range.getValuesAsync(format, callback, userContext)
http://msdn.microsoft.com/en-us/library/ee589012.aspx
・Ewa.Range.setValuesAsync(values, callback, userContext)
http://msdn.microsoft.com/en-us/library/ee588957.aspx
・Ewa.Workbook.getActiveSelection()
http://msdn.microsoft.com/en-us/library/ee660082.aspx

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

[Excel Services ECMAScript]タイマーでグラフを描画する。次のページ

関連記事

  1. Office関連

    Office 2013のコントロールIDリストが更新されました。

    「コントロールID 一覧(Office 2013)」でも紹介しているO…

  2. Office関連

    表示モードを変更するPowerPointマクロ

    PowerPointには様々な表示モードがありますが、私のお気に入りは…

  3. Office関連

    SharpDevelopでExcel用COMアドインを作成する方法

    「SharpDevelopのインストールと日本語化」で紹介しているSh…

  4. Office関連

    手軽に参照設定するためのVBAアドイン

    thom氏のブログで面白い記事がありました。・VBA 参照…

  5. アイコン一覧

    Office 365アイコン(imageMso)一覧(E)

    Office 365のデスクトップ版Officeアプリケーション(Wo…

コメント

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP