2012-06-26 1 views
0

스프레드 시트를 통과하고 셀에서 값을 검색하고 문서에 값을 삽입하는 스크립트가 있습니다. 코드는 완벽하게 작동하지만 문서 사본을 만들 때 동일한 코드를 실행하고 코드에서 문서 ID를 전달하면 다음과 같은 오류가 발생합니다.올바른 ID로도 문서 복사본을 만들 수 없습니다

해당 ID가 아닌 항목이있을 수 있습니다. 찾았거나 액세스 권한이 없습니다.

나는 공개 토론을 만들려고했지만 동일한 오류가 발생합니다. 흥미롭게도 새 문서를 만들고 해당 문서 ID를 함수에 전달하면 제대로 작동합니다.

코드 :

var templateid = "1IrEbukq3cVKg9MAPT-Aanfe4XCzoc-RCJKq6sOpQKGU"; // get template file id  
var copyDoc = DocsList.getFileById(templateid).makeCopy(docName); 

답변

0

난 당신이 문제가 발생하지만 난 당신이 copyDoc에 액세스하려고 할 때 그것이 추측에는 요 정확히 내가 이해 확실하지 않다. ID로 액세스하려고 시도했기 때문에 (오류 메시지에서 나타나는 것처럼) ID가 없기 때문에 여기에 작성한 코드에서 copyDoc은 문서입니다. ID를 원할 경우 .getId()을 다음과 같이 끝 : 내가 올바른 생각 ;-)

했다 희망

var copyDoc = DocsList.getFileById(templateid).makeCopy(docName).getId(); 

또한이 같은 사용 준비가 다셔야 할 수있는 :

var doctemplate = DocumentApp.openById("1IrEbukq3cVKg9MAPT-Aanfe4XCzoc-RCJKq6sOpQKGU");// this can be placed outside the function as a global variable 
    var docname="new name for the copy"; 
    var copydoc=DocsList.copy(doctemplate,docname); 
    var copydocId = copydoc.getId(); 

편집 : jwesonga comment (thx) 다음의 코드에서 오류를 수정했습니다.

+0

+ 흥미롭게도 Logger를 실행할 때 serge-insas가 템플릿을 잘 볼 수 있습니다. 빠른 수정, DocList에 대한 openById가 없으며 DocumentApp 용 openById가 있습니다. – jwesonga

+0

Ooops, 죄송합니다 .--) 오류의 원인이되는 템플릿 ID 또는 copyDoc ID입니까? –

+0

+ serge-insas 흥미롭게도 Logger를 실행하면 templateId가 잘 보입니다. 빠른 수정, DocList에 대한 openById가 없으며 DocumentApp 용 openById가 있습니다. 개인 이메일에서 개인 이메일로 문서를 공유 할 때 발생하는 문제가 발견되었습니다. 원본 문서의 복사본을 만들었지 만 앱 스크립트를 통해 문서를 조작 할 수있는 권한이 없습니다. – jwesonga

관련 문제