タイマーで特定のセルの値を増やしていき、それに合わせてグラフを描画してみました。
<script type="text/javascript" src="http://r.office.microsoft.com/r/rlidExcelWLJS?v=1&kip=1"></script> <script type="text/javascript"> var timer; var num = 0; var fileToken = "SD92A165759188B352!267/-7880906317294423214/"; if (window.attachEvent) { window.attachEvent("onload", loadEwaOnPageLoad); } else { window.addEventListener("DOMContentLoaded", loadEwaOnPageLoad, false); } function loadEwaOnPageLoad() { var props = { uiOptions: { showGridlines: false, showRowColumnHeaders: false, showParametersTaskPane: false, selectedCell: "'Sheet1'!A9" }, interactivityOptions: { } }; Ewa.EwaControl.loadEwaAsync(fileToken, "myExcelDiv", props, onEwaLoaded); } function onEwaLoaded(result) { ewa = Ewa.EwaControl.getInstances().getItem(0); } function startTimer() { timer = setInterval("timerProc()",800); } function stopTimer() { clearInterval(timer); } function timerProc() { num++; if (num > 10) {num = 1;} var ary = new Array(); ary[0] = new Array(); ary[0][0] = num; ewa.getActiveWorkbook().getSheets().getItemByName("Sheet1").getRange(0,0,1,1).setValuesAsync(ary,setRangeValue,null); } function setRangeValue(asyncResult) { if (asyncResult.getCode() != 0) { alert("Err:" + asyncResult.getDescription()); } } </script> <input type="button" value="タイマースタート" onclick="startTimer();"></input><br> <input type="button" value="タイマーストップ" onclick="stopTimer();"></input> <div id="myExcelDiv" style="width: 280px; height: 200px"></div>
タイマーのインターバルによってはグラフの描画処理がおいつかないため、思ったよりスムーズに描画することができませんでした。
色々と試したところ、インターバルは800 ~ 1000ミリ秒程度が良いようです。
・Ewa.SheetCollection.getItemByName(name)
http://msdn.microsoft.com/en-us/library/ee660110.aspx
・Ewa.Sheet.getRange(firstRow, firstColumn, rowCount, columnCount)
http://msdn.microsoft.com/en-us/library/ee589071.aspx
この記事へのコメントはありません。