2

カスタム関数を Google スプレッドシートに追加しようとしています。Google スプレッドシートのカスタム関数のチュートリアルを見た限りでは明らかでしたが、それに従ったと思います。基本的な問題が発生しているため、正しいクエリを作成して答えを見つけることができません。

問題の Google スプレッドシートに入り、スクリプト マネージャーを開き、[NEW]、[Google スプレッドシート] を選択すると、2 つの関数が既に含まれている「code.gs」ファイルを含む「無題のプロジェクト」ウィンドウが開きます。なぜそれらがそこにあるのかわかりません。次のように、最後に私のものを追加しただけだと思います。

「var WdName」で始まる行は 38 行目で、不正な文字があると書かれています

 /**
 * Retrieves all the rows in the active spreadsheet that contain data and logs the
 * values for each row.
 * For more information on using the Spreadsheet API, see
 * https://developers.google.com/apps-script/service_spreadsheet
 */
function readRows() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var rows = sheet.getDataRange();
  var numRows = rows.getNumRows();
  var values = rows.getValues();

  for (var i = 0; i <= numRows - 1; i++) {
    var row = values[i];
    Logger.log(row);
  }
};

/**
 * Adds a custom menu to the active spreadsheet, containing a single menu item
 * for invoking the readRows() function specified above.
 * The onOpen() function, when defined, is automatically invoked whenever the
 * spreadsheet is opened.
 * For more information on using the Spreadsheet API, see
 * https://developers.google.com/apps-script/service_spreadsheet
 */
function onOpen() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var entries = [{
    name : "Read Data",
    functionName : "readRows"
  }];
  sheet.addMenu("Script Center Menu", entries);
};

function DAYNAME(inNum) {
  // Function to convert from integers to Week Day names
  var wdName=“NONE”;     // this will hold the answer  
  if (typeof inNum != "number") {  // check to make sure input is a number
    throw "input must be a number";  // throw an exception with the error message
  }
    if (inNum == 1) {
    wdName=“Sunday”;
}
    if (inNum == 2) {
    wdName=“Monday”;
}
    if (inNum == 3) {
    wdName=“Tuesday”;
}
    if (inNum == 4) {
    wdName=“Wednesday”;
}
    if (inNum == 5) {
    wdName=“Thursday”;
}
    if (inNum == 6) {
    wdName=“Friday”;
}
    if (inNum == 7) {
    wdName=“Saturday”;
}

  return wdName;  // return the answer to the cell which has the formula
};

どんな助けでも大歓迎です。このフォーラムや他の場所で検索してみましたが、そこに答えがあると思いますが、見つかりませんでした.

ありがとう

4

1 に答える 1

1

実際、引用符は Apps Script エディターでは無効な文字のように見えます。変更する必要があるのは、他の二重引用符または単一引用符を解決するためだけです。

var wdName=“NONE”; // change to -> var wdName="NONE";

次の行 (39) の引用符は有効です。if (typeof inNum != "number")

これで表示されるすべての引用符を変更する必要があります。コードにはいくつかあります。

...
wdName=“Sunday”; // change to -> var wdName="Sunday";
...
wdName=“Monday”; // change to -> var wdName="Monday";
...
于 2013-08-28T23:06:03.183 に答える