2016-05-22 8 views
2

Javascriptの使用経験はあまりありませんが、私が助けている教授に関連する情報をフィルタリングする簡単なコードを開発しています。 forを使ってある量のデータの行番号を探しています。そして、配列を使ってそれらの単語を含むすべての行を格納しています。私はAppscriptを使用しているので、私はすでに知っている最後の行に戻っている行から一定量のデータを再配置する必要があります。私のコードは次の通りです:配列値をパラメータの1つとして持つgetRange()メソッドの使用方法

if(cell === "Average") 
{ 
    index++; 
    initialcoords[index] = n; // n is the iteration variable in the for 
} 

私は配列の内容をテストしましたが、うまくいきましたので、正しく行を保存しています。問題は、Google Spreadhsheetsの別のシートにデータを貼り付けるために別の方法を使用していることです。それは、このようなエラー出力しますので、

function pasteInfo() 
{ 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var source = ss.getSheetByName("Sheet 1"); 
var destination = ss.getSheetByName("Sheet 2"); 

    var range = source.getRange(initialcoords[1], 1, 8, 3); 
    range.copyValuesToRange(destination, 4, 6, 4, 6); 
} 

マイprobelm)が(getRangeです:そうするための私のコードは次のようである

can't find method getRange((class),number,number,number). 

私は信じているが、そのnは整数として宣言されている場合でも、私が返す値は、getRange()メソッドと互換性のない別の型の値です。誰かが私にこれを確認し、それを整数に変換するのを手助けすることができますか?私は本当にあなたの助けに感謝します。

+0

あなたの疑惑を確認するには、typeof演算initialcoords 'はconsole.logを(追加してみてください[1] ); '。それは何と言いますか? – Noumenon

+1

助けてくれてありがとうNoumenon、私はこれを追加しようとしましたが、私はgoogle-apps-scriptのオンラインエディタを使っているので、コンソールが定義されていないと言います。私は過去にconsole.logを使っていましたが、 AppScriptの同様のコマンドを知っている –

+0

@DanielLara Google AppsスクリプトにはLogger.log()があります https://developers.google.com/apps-script/reference/base/logger – Karan

答えて

1

Spreadsheetは複数のシートを持つことができるため、最初にデータを取得するシートを定義する必要があります。

パラメータを使用する前に適切なデフォルト値を定義しておく必要があります。そうしないと、インタープリタが推測を開始します。

パラメータが空の場合はデフォルト値を提供します

function fillLine(row, column, length, bgcolor) 
{ 
row = row || 0; 
column = column || 0; 
length = length || 1; 
bgcolor = bgcolor || "red"; 
var sheet = SpreadsheetApp.getActiveSheet(); 
sheet.getRange(1+row, 1+column, 1, length).setBackground(bgcolor) 
} 

をあなたはまた、コミュニティが提供するソリューションを試してください:Can't get Google Scripts working

関連する問題