web-dev-qa-db-ja.com

Googleフォーム送信の一意のIDを作成するスクリプトを実装するにはどうすればよいですか?

追跡用のプロジェクト番号として使用されるフォームの送信時に一意のIDを作成する必要があります。番号は一意である必要がありますが、行または他の変更可能なデータに基づいていない必要があります。完了したプロジェクトは別の行にあるアーカイブシートにキックされ、そのプロジェクトの番号とその下にある他のすべてのプロジェクトの数の両方が変更されるためですスプレッドシート。

Googleフォームに基づいてGoogleスプレッドシートに自動インクリメントフィールドを追加できますか? に対する答えが見つかりましたが、スクリプトからエラーが出ているため、動作させるためのアドバイスが必要な場合があります。

私は非常に初心者であり、スクリプトの記述経験はありませんが、行に依存していない数式や、異なるシート全体で数値を保持する数式は見つかりません。どんな助けも大歓迎です!

4
Kelly Jensen

フォームが2人で同時に送信されていない場合、現在の時刻を一意のIDとして使用することを検討できます。

以下は、現在の時刻をミリ秒単位で取得するJavaScript(1970年以降)です。

var d = new Date();
var n = d.getTime(); // e.g. n = 1382489068127
1
Dolan Antenucci

問題は、スクリプトの最初の行にあります。フォームIDは、フォームを識別する特別なIDです。フォームのアドレスで確認できます(太字部分)

docs.google.com/forms/d/17rxZ5vzy0OcxibXV6aRpso7Xm_Vs0FpxMLgbchjO998/viewform。

代わりに誤ってフォーム名を使用しました。

そうは言っても、私はshould元の答え でSpreadsheet.getFormUrl()を使用したばかりです。これを変更します。IDについて心配する必要はまったくありません。

1
Tom Horwood