2014-11-06 55 views
1

我創建了一個將條目記錄到Google表格中的表單。每天一次,我希望電子表格作爲附件通過電子郵件發送給我們的技術人員。同時,我想在特定文件夾中製作電子表格的副本,作爲「記錄」。我用下面的代碼如何使用Google Script將電子表格複製到GDrive上的特定文件夾中但不復制關聯的表單和腳本

function sendEmail() { 

var oauthConfig = UrlFetchApp.addOAuthService("google"); 
oauthConfig.setAccessTokenUrl("url"); 
oauthConfig.setRequestTokenUrl("url"); 
oauthConfig.setAuthorizationUrl("url"); 
oauthConfig.setConsumerKey("anonymous"); 
oauthConfig.setConsumerSecret("anonymous"); 

var requestData = {"method": "GET", "oAuthServiceName": "google", "oAuthUseToken": "always"}; 

var url = "url"; 

var result = UrlFetchApp.fetch(url , requestData); 
var contents = result.getContent(); 

var cur_date = Utilities.formatDate(new Date(), "GMT+1", "yyyy/MM/dd") 

MailApp.sendEmail("[email protected]","test" ,"test", {attachments:[{fileName:cur_date + "_Orders.html", content:contents, mimeType:"application/html"}]}); 
var spreadsheet = DriveApp.getFileById("ID") 
spreadsheet.makeCopy(cur_date + "_Orders", DriveApp.getFoldersByName("Orders").next()); 
} 

我的問題是,當「老」電子表格被複制,到新文件夾,顯然相關的腳本也一起被複制並鏈接到電子表格中的表格的副本。是否有方法僅複製電子表格(即單元格中的數據),而沒有附加所有「裝飾」。

乾杯, 尼古拉

回答

1

我從來沒有想到會發生這種問題(複製相關的形式,唉!),我還沒有嘗試過確認。但是由於您只需要這些值,我認爲將電子表格內容複製到新的電子表格可能更容易。

//replacing your last two lines of code 
var spreadsheet = SpreadsheetApp.openById("ID"); 
//this assumes you want the values only of the first sheet 
//and that you don't care about formatting or sheets names, etc 
//but you have more options here if this is not desired 
var values = spreadsheet.getSheets()[0].getDataRange().getValues(); 
var copy = SpreadsheetApp.create(cur_date + "_Orders"); 
copy.getSheets()[0].getRange(1,1,values.length,values[0].length).setValues(values); 

var copyAsFile = DriveApp.getFileById(copy.getId()); 
//I'd recommend using the folder ID instead 
DriveApp.getFoldersByName("Orders").next().addFile(copyAsFile); 
DriveApp.removeFile(copyAsFile); //remove from your Drive root folder 
+0

工作就像一個魅力。謝謝一堆! – 2014-11-06 11:09:49

+0

@NicolaZilio由於您是StackOverflow中的新成員,因此以下是一些提示:當您覺得自己有一個好的答案時,您應該接受答案。這是答案附近的複選標記,在其左上角的投票箭頭下。投票也是一個很好的功能。請使用這個工具。 – 2014-11-06 14:49:02

相關問題