2012-09-04 4 views
0

Google 문서 스크립트를 열 때마다 파일의 백업 사본을 만들려고합니다.
내가 Google 스크립트 : 파일 클래스가 정의되지 않았습니다.

var name = File.getName(); 
var filecopy = File.makeCopy(name + " backup"); 

쓰기 복사본을 만들려면하지만 파일의 클래스를 인식하지 못합니다. 그것은 DocsList를 알고 있지만. 파일을 작동 시키거나 다른 방법으로 복사하는 방법은 무엇입니까?

답변

0

그런 식으로 File 클래스를 사용할 수 없습니다. 클래스 메소드 또는 인스턴스 네이티브 클래스 (Object, String 등), 자신의 클래스 또는 Google 서비스 (DocList, SpreadsheetApp 등)를 호출하는이 라인에

var file = DocsList.getFileById(ID) ; // you can use DocsList.find or DocsList.create 
var filecopy = file.makeCopy(); 
+0

답변 해 주셔서 감사합니다. 내 파일의 ID (스프레드 시트)를 어떻게 알 수 있습니까? – user1468633

+0

주석에서 언급 한 것처럼 find() 함수를 사용할 수도 있고 브라우저의 주소 표시 줄 (key = 및 before # gid = 다음 부분)에서 ID를 가져올 수 있습니다. – Srik

1

가스 허용 뭔가를 사용하십시오. File, Folder, Spreadsheet, Range 등과 같은 다른 클래스는 서비스 기능 호출을 통해서만 액세스하고 인스턴스화 할 수 있습니다. 예를 들어 DocsList.getFileById("...");File 클래스 인스턴스를 반환합니다.

다음 함수는 srcFileID ID를 가진 파일을 dstFileName 매개 변수에 저장된 이름을 가진 새 파일로 복사합니다.

function testCopy(srcFileID, dstFileName) { 
    var srcFile = DocsList.getFileById(srcFileID); 
    srcFile.makeCopy(dstFileName); 
} 
관련 문제