2016-11-08 57 views
-1

這裏編碼小白,努力學習......採取一系列細胞從谷歌電子表格

我試圖採取一系列細胞在一個谷歌電子表格(不連續的任何網頁/張境) ,將範圍轉換爲pdf,然後通過電子郵件將PDF發送至指定地址的電子郵件附件。我可以使用預先寫好的插件,但是我不會學習。一個人只能通過提問來學習。

我搜索瞭解答案,並進入本網站(https://ctrlq.org/code/19869-email-google-spreadsheets-pdf)。麻煩的是,這個腳本將所有的表單都發送到一個zip文件中。我不想這樣做。我只想發送pdf格式的一系列選定的單元格,這些單元格僅位於第一個表單中,並且是pdf,而不是一個zip文件。

我幾乎是不存在的JavaScript教育告訴我,我的腳本使用下面的代碼片段,以獲取相關數據: (當然,我可能是錯的...)

// Get the currently active spreadsheet URL (link) 
// Or use SpreadsheetApp.openByUrl("<<SPREADSHEET URL>>"); 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 

我不知道我有正確的片段,這就是爲什麼我包含其源代碼的URL。無論如何,我只想發送範圍從第2行第3列開始,到第31行第12列結束。7天后,我想用另一個腳本發送不同的範圍。

如何修改此腳本以實現我的目標?

感謝大家誰可以幫忙!

+1

歡迎來到Stackoverflow。 [Google Apps腳本參考](https://developers.google.com/apps-script/reference/calendar/)是一個很好的起點。如果您檢查[範圍]的參考(https://developers.google.com/apps-script/reference/spreadsheet/range),您會注意到沒有辦法將範圍作爲pdf。沒有一張用於表格,只有整張電子表格,因此您需要創建一個僅包含該範圍的電子表格副本,而不包含其他任何內容。 –

回答

0

首先,您需要了解您所要求的以及它的真正名稱。

正如在Robin Gertenbach的評論中指出的那樣,您應該先看看Google Documentation。只有當你用完了這些信息之後,你才能在別處尋找代碼片斷等等。我之所以這樣說是因爲一個範圍很可能不是你認爲的範圍。範圍對象本身不是您需要的數據,而是您可以用來獲取信息的類。

例如,如果你想要的值,你會做類似SpreadsheetApp.getActiveRange().getValues()這將返回一個2數組的字符串值。但是,沒有這樣的方法來輸出字符串作爲pdf。從邏輯上講,PDF是一個文檔,所以要獲得PDF,您需要導出文檔。最低的文檔類型是實際的電子表格,並且在文檔中您可以看到here

其他任何您能想到的都將來自Javascript而不是Google Apps腳本,因此您可以從中找到它。這裏唯一的選擇是創建一個新的電子表格並將其保存爲pdf,然後刪除電子表格。

您擁有的代碼片段僅僅是將整個電子表格作爲對象創建一個變量。

相關問題