2016-11-29 7 views
0

変更範囲に基づいて= IMPORTRANGE式を挿入するようにsetFormulaを試行しています。getRangeから取得した範囲をインポート範囲式に挿入する

var rangeToCopy = sheet.getRange(j, 1, 8, 8); 
    rangeToCopy.copyTo(frontPage.getRange(2, 8)); 

var cell = frontPage.getRange(1, 8); 
cell.setFormula('=IMPORTRANGE("1SrLVOfzRicpnBUl4U2x6-dfD4us0B6QTxfchkqS9U8w",\''+ rangeToCopy +'\')'); 

jは、私が他の場所で定義する変数であり、そして私はのcopyToを使用している場合は正常に動作しますが、IMPORTRANGEがより迅速であるのに対し、それは、さわやか必要があります。これまでのところ私はこれを持っています。

は、しかし、上記のスクリプトは、セルに次の数式を入力:

=IMPORTRANGE("1SrLVOfzRicpnBUl4U2x6-dfD4us0B6QTxfchkqS9U8w",'Range') 

だから、私ははっきりとセルの実際の範囲を「範囲」を交換する必要があります。

すべてのアイデア?

+1

私は、変化範囲のようなテキスト値であることを理解するだろうか? –

+0

私の質問に対する答えが「はい」の場合は、書式は必要ありませんが、単に式内のセルを参照できます。 '= IMPORTRANGE(" 1SrLVOfzRicpnBUl4U2x6-dfD4us0B6QTxfchkqS9U8w "、Sheet1!B1)はSheet1上のB1セルからRangeを引っ張ります。そこに** Sheet2を置くかもしれない!A1:F ** –

答えて

0

rangeToCopyオブジェクトclass Rangeです。あなたの数式には、文字列( "A3:D5"など)という表記があります。それを取得するには、getA1Notationを使用します。スプレッドシート内のセルに発見された:「C25 A2」

'some string' + rangeToCopy.getA1Notation() + 'another string' 
+0

すごい!スーパーシンプル。どうもありがとう。 –

+0

ああ、いいですね。私はそれが何のためにあるのか疑問に思いました... –

関連する問題