1

Google スクリプト関連サービスの初めてのポスターです。適切な場所に配置できれば幸いです。エラーが発生しましたが、解決策を探すための適切な用語が見つからないようです。以下、関数です。その中に、分割を適用する変数 string1 があります。文字列の値を (文字列でコメント化された行で) ハードコーディングすると、それが機能し、正しい出力が得られます。一方、その文字列を別の関数から関数に渡そうとすると、次のエラーが表示されます。

「TypeError: 2013 年 10 月 30 日水曜日 09:00:26 GMT-0400 (EDT)、danno、ticket、netid、request、mac、Error - 無効な Mac / Mac が見つかりません。」

注: 関数への呼び出しは次のようになります - formatEmailRow(completeEmailArray[i])

function formatEmailRow(rowToFormat) {
  var formattedString = "";
  var array1 = [];
  var string1 = "";
  ///////////////////////
  string1 = rowToFormat;
  //string1 ="10/30/2013 9:00:26,danno,ticket,netid,request,mac,Error  - Invalid Mac / Mac Not Found ";
  ///////////////////////
  array1 = string1.split(",| ,|, ");
  if (array1 != ""){
  for (var i = 0; i < array1.length; i++) {
  formattedString = formattedString + "     " +(array1[i]);
  }}
  return formattedString;
  }

助けてください!事前に感謝します。アドバイスをいただければ幸いです。

-檀野

4

1 に答える 1

0

渡したオブジェクトのタイプにメソッドが含まれていないため、エラーが発生しています.split()。これは初めてなので、一時停止してオブジェクトとメソッドを読んでみる価値があります。これは簡単な概要です。

String を受け取りたいのですが、そうではないようです。問題は、 を呼び出しているコードにありますformatEmailRow()

私の推測では、配列 (おそらくすべてのセルが並んでいる) を渡していると思いますが、確認する方法は次のとおりです。

次の行を関数の最初の行として追加します。

Logger.log("rowToFormat = " + JSON.stringify(rowToFormat));

...次に、エラーで実行します。ログを確認してください。単純な文字列を取得していることを確認してください。配列を取得している場合は、何を修正する必要があるかがわかります。(結局、配列を取得したいかもしれません!)

于 2013-12-09T05:32:28.737 に答える