我和我的團隊有電子表格,當他們更新行(基于他們使用的帳戶)時,我怎樣才能(自動)獲取電子郵件用戶值?
所以每次他們更新“任務”欄時,“電子郵件”欄都會自動更新。像下面的 電子表格表格
uj5u.com熱心網友回復:
如果用戶來自您的同一組織(因此安全策略允許訪問用戶的身份),您只需設定一個 Apps 腳本onEdit觸發器,該觸發器將使用getActiveUser或getEffectiveUser來檢索用戶電子郵件。
為此,打開腳本編輯器Tools > Script editor并添加onEdit如下所示的函式,它將執行以下操作:
- 使用事件物件獲取有關已編輯單元格(作業表、行、列)的資訊。
- 檢查單元格是否與任務列相對應,是右側作業表而不是標題行。
- 如果它對應于任務列,則獲取用戶電子郵件
getActiveUser并使用Range.setValue將電子郵件地址寫入電子郵件列。 - 注意:在下面的示例中,電子郵件和任務列分別設定為
A和B,作業表名稱設定為Sheet1。請根據您的需要更改這些。
代碼示例:
function onEdit(e) {
const range = e.range;
const rowIndex = range.getRow();
const colIndex = range.getColumn();
const sheet = range.getSheet();
const SHEET_NAME = "Sheet1"; // Sheet name you want to check
const EMAIL_COLUMN = 1; // Column index where emails are written
const TASK_COLUMN = 2; // Column index where tasks are written
if (colIndex === TASK_COLUMN && rowIndex > 1 && sheet.getName() === SHEET_NAME) {
const userEmail = Session.getActiveUser().getEmail();
sheet.getRange(rowIndex, EMAIL_COLUMN).setValue(userEmail);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/325151.html
