私はGoogleの最初のGoogleアプリケーションスクリプトをGoogleのシートに書いており、それが開く可能性について非常に興奮しています。ただし、スプレッドシートの異なるタブ間や独立したスプレッドシート間でデータを移動する(スプレッドシートIDが異なる)など、いくつかのことを把握しようとしています。GoogleスプレッドシートスクリプトがgetUser()のメールをキャプチャしないのはなぜですか?
しかし私の心配は、私のスクリプトはタイムスタンプをキャプチャしていますが、私はまた、ユーザーの電子メールを記録したいと思います。私は、電子メールをキャプチャできるかどうかを判断する複雑な基準があることを文書で読み取っています。その基準は何ですか?奇妙なことに、最初はコードをテストしていたので、自分の電子メールがキャプチャされていたのですが、ケースの約50%にすぎません。私はここで何が起こっているか完全に理解しているのか分からないのですか?
マイコード:
function onEdit(e){
// Set a comment on the edited cell to indicate when it was changed.
var range = e.range;
var activeSheet = e.source.getActiveSheet();
range.setNote('Last modified: ' + new Date() + new Date().toLocaleTimeString() + ' sheet: ' + activeSheet.getName());
if (activeSheet.getName() == "KYCEntrySheet"){
var r = e.source.getActiveCell();
if(r.getColumn() == 10) { //Any changes within this column set the date below and the email on the 2nd call
//if(r.offset(0, 1).getValue() === '') //is empty?
r.offset(0, 5).setValue(new Date().toLocaleTimeString());//will only put date, format "123/Date and time" if time needed
//if(r.offset(0, 2).getValue() === '') //is empty?
r.offset(0, 9).setValue(Session.getUser());//inserts current users email
}}}
ありがとう!