2017-01-16 24 views
0

當doc位於文件夾中時,下面的代碼工作,但當它位於驅動器根目錄下時,代碼不起作用。 然後刪除PDF。當doc位於根目錄下時,我怎麼能做到這一點?Doc to PDF - 刪除複製的文件,但Doc不在的時候Doc在根目錄下

function saveToPDF(){ 
var currentDocument = DocumentApp.getActiveDocument(); 
var parentFolder = DriveApp.getFileById(currentDocument.getId()).getParents(); 
var folderId = parentFolder.next().getId(); 
var currentFolder = DriveApp.getFolderById(folderId); 

var pdf = currentDocument.getAs('application/PDF'); 
pdf.setName(currentDocument.getName() + ".pdf"); 

var file = DriveApp.createFile(pdf); 
currentFolder.addFile(file); 
DriveApp.getRootFolder().removeFile(file); 
} 

回答

1

如果文檔是在根文件夾中的程序將文件添加到根驅動器:

currentFolder.addFile(file); 

那麼這行代碼刪除您剛剛創建的文件:

DriveApp.getRootFolder().removeFile(file); 

因此,爲了避免這種使用檢查,看是否文檔是在根文件夾:

var rootFolderID = DriveApp.getRootFolder().getId(); 

和比較

var folderId = parentFolder.next().getId(); 

喜歡的東西:

if (folderId != rootFolderID) 
    {DriveApp.getRootFolder().removeFile(file); 
} 
+0

我是相當新的谷歌的腳本,現在沒有關於「=」代碼呢!。現在我知道。而且我認爲我需要一個if ..結構的東西。謝謝,我今天學到了一些東西! –

+0

樂於幫忙,歡迎來到Stack Overflow。如果此答案或任何其他人解決了您的問題,請將其標記爲已接受 – utphx