1

JavaScript を使用してスプレッドシートを作成していますが、フィールドの評価方法がわかりません=SUM。私のコードは配列 ex を生成し(=SUM,A1,B1)ますが、関連するフィールドの値を取得するために A1 と B1 の属性を変更する方法がわかりません。

function saveCell()
{
// get the text the user just typed into the text box
var cellText = document.getElementById("txtCell").value;

var tokenArray = getFormula(cellText);

// if null... this isn't a formula
if (tokenArray != null)
{
    alert("This is a formula to sum from " + tokenArray[1] + " to " + tokenArray[2]);

}
else
    currentRef.innerHTML = cellText;

    ssArray[currentRow - 1][currentCol - 1] = cellText;
}//end saveCell()


// determines if user entered a formula such as =SUM(A1:B1)
// returns an array with cell coordinates

function getFormula(tbValue)
{

// this is a regular expression pattern which is intended to
// split the string (formula) on any of ":" "(" or ")"
var pattern = /[:|\(|\)]/;

// do the split ... ar is an array
var ar = tbValue.split(pattern);

// convert =sum to upper case
var sum = ar[0].toUpperCase();
var attOne = ar[1];
var attTwo = ar[2];

if (ar.length < 3)
    return null;
else if (sum != "=SUM")
    return alert("The function '"+sum+"' is not supported...");
else
{
    //return an array of strings
    return ar;
    }
}//end getFormula()
4

1 に答える 1

0

うーん、よく理解できれば、A1とB1は値が格納されている要素の「id」である必要があるため、それらの要素の内部に入り、値を取得する必要があります。

このような場合、 を使用document.getelementbyid(attOne).valueして A1 フィールド内の値を取得できます。

私はあなたの質問に少し迷っていますが、スプレッドシートの構造を投稿する必要があるかもしれません.

于 2012-10-30T17:52:08.303 に答える