我需要的代碼將發送電子郵件到一些谷歌郵件帳戶,只要有一些數據輸入到谷歌電子表格。如果可能的話,我還需要以電子郵件形式呈現數據。電子郵件提醒輸入數據到谷歌電子表格不起作用
我已經找到了我的問題在這裏How to put a username to the cell , who made the last modification of the row?
的答案,但這個代碼出於某種原因沒有爲我工作。
1我打開谷歌電子表格的腳本編輯器並粘貼代碼
2更改電子郵件地址,以適當的一些
3問我授權
4然後,當我輸入一些數據在谷歌電子表格中,我有顯示 通知,但沒有電子郵件
其實有時我收到電子郵件,但並不總是,我不明白爲什麼它以前工作,因爲我沒有ch任何東西。
我試圖用新的代碼創建新的電子表格,但電子郵件通知仍然不起作用。
我查了postini電子郵件防火牆,很明顯 - 沒有郵件,垃圾郵件文件夾也很清晰。
網上絕對沒有關於如何發送電子郵件的數據輸入到Google電子表格的簡單教程,除了我在開始時發佈的問題。
這裏是我使用的代碼:
function onEdit(event){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = event.source.getActiveSheet();
var r = event.source.getActiveRange();
r.setComment("Last modified: " + (new Date())+' by '+Session.getActiveUser());
ss.toast('Dernière cellule modifiée = '+r.getA1Notation()+' par '+Session.getActiveUser());
}
function alert(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var cell = ss.getActiveCell().getA1Notation()
if(Session.getActiveUser()!='[email protected]'){
MailApp.sendEmail('[email protected]', 'Modification dans le planning', 'la case '+cell+' du document a été modifiée par '+Session.getActiveUser());
}
}
謝謝您的時間和答案。
編輯
經過一番深入調查我寫了這個代碼。它發送電子郵件,但由於某種原因,電子郵件中沒有user.id,只有cell.id。
function sendSimpleTextEmail() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var cell = ss.getActiveCell().getA1Notation();
var user = Session.getActiveUser();
MailApp.sendEmail('[email protected]',user,cell);
}
Munkey,謝謝你的回答。我現在完全失去了,不確定這個代碼是我需要的。我只需要輸入或編輯單元格中的數據時將發送電子郵件的代碼。回答你的問題 - 是的,我換了另一封電子郵件。 – Link 2015-01-31 22:05:31
再次感謝您的回答。此代碼僅在[email protected]登錄時發送user.id,如果其他用戶登錄,則發送電子郵件,但不包含user.id,他在電子表格中進行更改。我需要知道誰在電子表格中進行了更改,還需要在電子郵件中更改單元格中的數據。真的很抱歉,第一次沒有正確澄清它。現在我發現我發現的代碼遠沒有我需要。 – Link 2015-02-01 10:03:23
經過一番閱讀後,我不確定你可以發送電子郵件時觸發onEdit。 試圖想出一個解決方法。 此外,如果您已經與任何人共享了工作表,並且鏈接可以查看/修改,那麼他們就不需要登錄進行修改。 所以不會有用戶名或電子郵件發送給你自己。只是一個想法 – Munkey 2015-02-01 12:33:52