Google Apps Script에서 폴더의 파일 경로를 찾는 함수를 만들려고합니다. 다음은 오류입니다. TypeError : null의 'appendParagraph'속성을 읽을 수 없습니다 (20 줄, 파일 "Code").
'''
function getRoot() {
var doc = DocumentApp.getActiveDocument();
var header = DocumentApp.getActiveDocument().getHeader();
var name = doc.getName();
var id = doc.getId();
var txt = "Master Folder";
var parents = [];
var folders = DriveApp.getFileById(id).getParents();
while (folders.hasNext()){
var parent = folders.next();
var n = parent.getName();
parents.push(n);
}
var pLen = parents.length;
for (i = 0; i < pLen; i++){
txt = txt + "//" + parents[i];
}
var headerPar = header.appendParagraph(txt);
}
'''
나는 당신의 목표를 다음과 같이 믿습니다.
TypeError: Cannot read property 'appendParagraph' of null
.이를 위해이 답변은 어떻습니까?
header
검색된는 getHeader()
이며 null
오류가 발생합니다. 따라서이 경우를 사용하여 헤더를 추가하십시오 addHeader()
.doc
의을 ( var doc = DocumentApp.getActiveDocument();
를) 위해 사용할 수 있습니다 getHeader()
.위의 사항을 이용하여 스크립트를 수정하면 다음과 같이됩니다.
function getRoot() {
var doc = DocumentApp.getActiveDocument();
var header = doc.getHeader() || doc.addHeader(); // Modified
var name = doc.getName();
var id = doc.getId();
var txt = "Master Folder";
var parents = [];
var folders = DriveApp.getFileById(id).getParents();
// --- I modified below script
while (folders.hasNext()) {
var folder = folders.next();
parents.push(folder.getName());
folders = folder.getParents();
}
parents = parents.reverse();
// ---
var pLen = parents.length;
for (i = 0; i < pLen; i++){
txt = txt + "//" + parents[i];
}
var headerPar = header.appendParagraph(txt);
}
doc.getHeader()
사용됩니다. 헤더가 존재하지 않는 doc.addHeader()
경우 사용됩니다. 활성 문서가 같은 폴더 경로에 넣을 때 그리고 root -> folder1 -> folder2
, Master Folder//MyDrive//folder1//folder2
헤더에 배치됩니다.이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다