2013-07-05 4 views
0

Я пытаюсь написать свой первый скрипт. Он должен заполнить группу формул с переменными, заданными пользователем (не уверен, что переменные являются правильным словом).setFormulas missing]

Я получаю недостающую] ошибку в строке 13 с помощью этого кода, может ли кто-нибудь определить место, где он отсутствует? Все скобки, как представляется, в паре просто отлично: S

function setFormula(formulas) { 

    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 
    //Asks for Cell range data 
var week = Browser.inputBox("Week:"); 
    var start = Browser.inputBox("Start:"); 
var end = Browser.inputBox("End:"); 

// The magic 
var formulas = [ 

    ["=SUM('Week " + week + "'!E" + start + ":E" + end +")"], 
    ["=COUNTIF('Week " + week + "'!E" + start + ":E" + end +";""Test/Media"")"], 
    ["=COUNTIF('Week " + week + "'!E" + start + ":E" + end +";""Test/Hardware"")"] 


]; 
//Highlighted cell range will get the magic 
var range = sheet.getActiveRange(); 
range.setFormulas(formulas); 
} 

Спасибо за любую помощь или предложения :)

ответ

0
+";""..." 

Это недопустимый синтаксис.

Javascript строковых литералов использовать обратные косую черту в качестве экранирующего символа, так что вы должны написать

+";\"..." 
+0

же ошибка все еще :( – user2553682

+0

большое спасибо за удивительно быстрый ответ BTW – user2553682

+0

Если добавить другое \ после слов Hardware и Media, которые компилируются, но ничего не происходит на моем листе. – user2553682

0

Вы можете сбросить parenthesizer (с) неуместными цитатами, которая в данном случае.

["=COUNTIF('Week " + week + "'!E" + start + ":E" + end +";""Test/Media"")"], 
                  ^^   ^^ 

    ... should be ... 

["=COUNTIF('Week " + week + "'!E" + start + ":E" + end +";'Test/Media')"], 

... и повторить на следующей строке.

У вас есть два варианта в javascript, когда вам нужно иметь кавычки в строке.

  1. Используйте одиночные кавычки внутри строки, разделенной двойными кавычками (или наоборот), как вы уже делали. (Вы просто пропустили несколько.)

  2. Побег одинарные кавычки с \, как в:

    ';\'Test/Media\')'