0

私はコードに基づいてユーザーリストを作成しようとしています。簡単に言えば、学校のすべてのメンバーにコードが割り当てられているシステムがあります。このコードを使用して、Webサイトでいくつかのregexesを作成することで名前と電子メールを取得できます。 (基本的にデータマイニング)。

このユーザーコード(たとえば0123456)のみを入力すると、スクリプトがWebサイトからデータを取得し、隣接する列の値を入力します。スクリプトはonformsubitトリガーで実行する必要があるため、必要な場合にのみ更新されます。

データ収集システムの実装に成功しましたが、隣接するセルの入力に苦労しています。

// this function is called when form is submitted
function onNewEntry(e)
{
  // get the code (cell 0 is the timestamp)
  userCode = e.values[1];

  // add values and return
  return e.values.concat(["name", "e-mail"]);
}

スクリプトが列CとDのセルを「名前」と「電子メール」に変更することを期待しましたが、何も起こりません。誰かアドバイスできますか?

4

2 に答える 2

2

この関数は、フォームの送信時にトリガーされると、列CとDにデータを書き込みます。

(説明のためにxxとyyを使用しました)

function myFunction(e) {

var sh = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];

var last = sh.getLastRow()

sh.getRange(last,3,1,2).setValues([['xx','yy']])
}
于 2013-03-27T17:45:54.190 に答える
0

Range.setValues([Array])がソリューションです。setValues(...)の「s」に注意してください。

https://developers.google.com/apps-script/reference/spreadsheet/range#setValues(Object)

また、これはテストしていませんが、オブジェクト(e)は実際のセルを参照しているのではなく、送信されたデータのコピーを参照していると思います。結果を変更または追加する場合は、シートを開いて範囲を取得する必要があると思います。

于 2013-03-27T16:06:42.577 に答える