0

私が普段人々を悩ませている場所を簡単に見てみると、ここが質問をする新しい場所であることがわかります!

Googleフォームから生成されたスプレッドシートデータから生成されたドキュメントを作成するスクリプトを作成しています。(それが理にかなっていることを願っています...)

とにかく、私は多くの検索と少しの助けで非常に成功していますが、今はスクリプトを同種にしたいので、新しいフォームなどをセットアップしたいときにそれをいじる必要はありません.

Google スクリプト チュートリアルから getRowData 関数を使用していますが、正規化されたヘッダーから行データを呼び出す代わりに、Column1、Column2 などの一般的なものにしたいと考えています。

以下にチュートリアル関数を貼り付けました。オブジェクトとして使用するヘッダーを正規化する別の関数にデータを渡します。ここでそれらを汎用にすることができると考えていましたが、開始方法がわかりません...

どんな助けでも大歓迎です!!

ありがとう、

アレックス

// getRowsData iterates row by row in the input range and returns an array of objects.
// Each object contains all the data for a given row, indexed by its normalized column name.
// Arguments:
//   - sheet: the sheet object that contains the data to be processed
//   - range: the exact range of cells where the data is stored
//   - columnHeadersRowIndex: specifies the row number where the column names are stored.
//       This argument is optional and it defaults to the row immediately above range; 
// Returns an Array of objects.
function getRowsData(sheet, range, columnHeadersRowIndex) {
  columnHeadersRowIndex = columnHeadersRowIndex || range.getRowIndex() - 1;
  var numColumns = range.getEndColumn() - range.getColumn() + 1;
  var headersRange = sheet.getRange(columnHeadersRowIndex, range.getColumn(), 1, numColumns);
  var headers = headersRange.getValues()[0];
//  Browser.msgBox(headers.toSource());
  return getObjects(range.getValues(), normalizeHeaders(headers));
//  return getObjects(range.getRowIndex);
}
4

2 に答える 2

1

インデックスを使用して列を取得したい場合、なぜそれらをオブジェクトに解析する必要があるのでしょうか? プレーンを使うだけgetValues

var values = sheet.getDataRange().getValues();
var row2 = values[1];
var cell_in_col4 = row2[3];
于 2012-05-13T22:18:37.457 に答える
0

columnHeadersRowIndex 変数を宣言するときに「var」が欠落しているようです。

于 2014-11-11T17:31:38.467 に答える