googlescripts是一個強大的工具,可以用來自動化Google生產力工具,比如表單和文檔。自動發送電子郵件的能力使它成為一個非常強大的工具。
也許你是一名員工,希望每月給你的老闆發一封電子郵件,在谷歌表格中自動計算公式。或者你是一個花費太多時間給團隊成員發郵件的經理,比如績效數據或狀態更新。您將在本文中學習的googlescripts函數將幫助您完成這些任務以及更多任務。
只需一次小小的努力,您就再也不用手動發送數據了。讓谷歌腳本充當你自己的私人助理,為你做所有的工作。
讓您的Google腳本通過googlesheets發送郵件的第一步是正確設置一個包含所有姓名、電子郵件地址和發送給您希望腳本發送電子郵件的所有人的消息的表。
在我的例子中,我從一個電子表格開始,我已經設置好從google****ytics自動導入當月所有發表的文章。我已經創建了一個“所有作者”的表格來統計每個作者發表的文章,現在我想給每個作者發一封電子郵件,上面有他們的統計結果。
首先,在當前的電子表格中添加一個新的工作表,創建一個特殊的電子郵件工作表,並將其稱為“發送電子郵件”。
在這個新的“發送電子郵件”工作表中,您需要創建一個標題。此電子表格中的每一行將代表一封將被髮送出去的單獨電子郵件。所以在這個例子中,我為收件人的姓名,他們的電子郵件地址,以及我要在腳本中拼湊的信息片段創建了一個表。
通過使用列將靜態和動態信息拼湊在一起,您可以構建任何大小和結構的電子郵件。
靜態信息只是我在單元格中鍵入的文本。這個月不會變。它只是電子郵件信息的一部分,始終保持不變。但是,對於每個月都要更改的數據,可以**將從電子表格中的任何其他工作表導入相關數據的函數。
這裡的想法是,每當你打開工作表來查看你的自動報告時,你都會有一個菜單項,你可以點擊它來運行send email Google腳本,並將結果分發給所有人。您將在本文底部看到如何自定義這個新菜單項。
完成工作表的創建後,它將如下所示:
現在,你的所有個人電子郵件的工作表已經準備好了,終於到了寫劇本的時候了!
要編寫腳本,需要使用腳本編輯器。通過選擇腳本編輯器,可以在“工具”菜單下找到腳本編輯器。
腳本編輯器如下所示。您需要在右側窗格的頂部放置一個新函數。
只需將下面的腳本複製並粘貼到腳本區域。
function sendArticleCountEmails() { var ss = SpreadsheetApp.getActiveSpreadsheet(); ss.setActiveSheet(ss.getSheetByName("Send-Emails")); var sheet = SpreadsheetApp.getActiveSheet(); var dataRange = sheet.getRange("A2:F4"); var data = dataRange.getValues(); for (i in data) { var rowData = data[i]; var emailAddress = rowData[1]; var recipient = rowData[0]; var message1 = rowData[2]; var message2 = rowData[3]; var parameter2 = rowData[4]; var message3 = rowData[5]; var message = 'Dear ' + recipient + ',' + message1 + ' ' + message2 + ' ' + parameter2 + ' ' + message3; var subject = 'Your article count for this month'; MailApp.sendEmail(emailAddress, subject, message); }}這個腳本看起來可能有點複雜,但實際上一點也不復雜。讓我們把它分解一下,這樣你就能確切地知道每一行在做什麼。
為了使此功能正常工作,您需要確保存儲所有電子郵件信息的工作表實際上是活動工作表。否則接下來的一切都不管用。這兩條線就是為了這個:
var ss = SpreadsheetApp.getActiveSpreadsheet();ss.setActiveSheet(ss.getSheetByName("Send-Emails"));接下來,我們需要從該表中提取所有數據。這個工作表.GetRange()方法將從引號中提供的任何單元格範圍中提取信息。接下來是dataRange.getValues()方法實際上提取值並將它們存儲到稱為data的二維數組中。
var sheet = SpreadsheetApp.getActiveSheet();var dataRange = sheet.getRange("A2:F4");var data = dataRange.getValues();現在所有的數據都存儲在一個數組中了,我們可以使用for循環遍歷數組。數組的每個元素都是一行,其中包含列元素的一維數組。可以使用數字引用每列。
var rowData = data[i];var emailAddress = rowData[1];var recipient = rowData[0];var message1 = rowData[2];var message2 = rowData[3];var parameter2 = rowData[4];var message3 = rowData[5];如上所示,我將列元素拉入一個名為rowData的一維數組中。然後我通過引用rowData[1]引用第二列(以獲取電子郵件地址),即數組的第二個元素(數組的第一個元素始終為零)。
此函數的下一步是將構成電子郵件正文的所有消息段拼湊在一起。很好的一點是,您可以通過使用\n字符(回車符)為電子郵件內容提供非常好的格式。以下是電子郵件正文的串聯形式:
var message = 'Dear ' + recipient + ',' + message1 + ' ' + message2 + ' ' + parameter2 + ' ' + message3;+字符是串聯命令。將實際靜態文本放在單引號內。因此,將單詞“Dear”放在recipient變量前面(注意“Dear”有一個空格)將此消息拼湊在一起。
接下來,在末端添加兩個回車符。這將啟動正文內的實際消息向下兩行。接下來添加第一個消息段、一個空格、第二個消息段、一個空格、每個月將**到消息中的變量,最後是消息的最後一部分。
您可以擁有任意多的消息片段,只需使用更多的列就可以創建完整的消息片段。
最後幾行代碼只設置了電子郵件的主題行(如果需要,還可以包括電子表格中的數據),最後是sendmail()方法。
回到腳本編輯器窗口,只需搜索“onOpen”函數。如果函數在那裡,您可能會在括號內看到一堆代碼。轉到該代碼的底部並**以下行:
var spreadsheet = SpreadsheetApp.getActive();var menuItems = [ {name: 'Send Emails', functionName: 'sendArticleCountEmails'}];spreadsheet.addMenu('Send Emails', menuItems);只需確保在functionName參數的單引號中鍵入函數的確切名稱。這將在每次打開工作表時將自定義菜單項加載到工作表中。
現在,每當你每月打開電子表格查看所有數據時,你所要做的就是點擊菜單項發送電子郵件。這將運行你的新功能,併為你發送所有的電子郵件。一個工作,過去需要你幾個小時,現在只需要一次點擊鼠標!
這只是一個例子,你可以使用Google腳本來自動化各種各樣的事情,節省你的時間。例如,您可以使用Google腳本自動生成Google分析報告。困難的部分只是它確實需要一點前期工作,但是您使用腳本設置自動化的每一分鐘都節省了很多時間。想想你在這段時間裡還能做些什麼!
你有沒有用聰明的Google腳本來自動化你的工作效率?在下面的評論部分分享你自己的例子!
... 在下一頁中,您將看到一個簡單的表單,用於輸入您的個人詳細資訊,如生日、性別、電話號碼和電子郵件地址,當然還有您的姓名、使用者名稱和首選密碼。 ...
...獲取連結或輸入合作者的電子郵件地址。 指令碼編輯器:在一個單獨的視窗中開啟表單後面的指令碼(通常供開發人員使用)。 載入項:開啟googleforms載入項商店。 首選項:調整電子...
Python是一種優秀的程式語言。語法可能看起來奇怪和不尋常,但它很容易學習和使用。它支援Minecraft Pi版,以及一系列網站和學術研究專案。 ...
... 另一個古怪的方法是,看看你如何用googlesheets傳送電子郵件。關於PowerShell,您知道PowerShell可以兼作雜湊檢查器來檢查檔案的完整性嗎? ...
... 建立筆記、任務、**、表單和網站。 管理聯絡人、書籤和密碼。 建立文件、電子表格和簡報。 將檔案備份到雲。 ...
從microsoftexcel傳送電子郵件只需要幾個簡單的指令碼。將此功能新增到您的電子表格中,您就可以真正提高您在Excel中所能完成的工作。 ...