Google Apps Script에서 파일의 폴더 경로를 가져 오는 중

테렌스 허쉬

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);


}
'''
Tanaike

나는 당신의 목표를 다음과 같이 믿습니다.

  • 오류 메시지의 원인을 알고 싶습니다 TypeError: Cannot read property 'appendParagraph' of null.
  • 오류를 제거하려고합니다.
  • 활성 Google 문서의 폴더 경로를 검색하려고합니다.

이를 위해이 답변은 어떻습니까?

수정 지점 :

  • 귀하의 스크립트에서 오류 메시지의 원인은 Google 문서에 헤더가 없기 때문이라고 생각합니다. 이에 의해 header검색된는 getHeader()이며 null오류가 발생합니다. 따라서이 경우를 사용하여 헤더를 추가하십시오 addHeader().
  • doc의을 ( var doc = DocumentApp.getActiveDocument();를) 위해 사용할 수 있습니다 getHeader().
  • 루트 폴더에서 폴더 경로를 검색하려면 스크립트 수정이 필요하다고 생각합니다. 현재 스크립트에서 Google 문서를 중첩 폴더에 넣으면 문서의 상위 항목 만 검색됩니다.

위의 사항을 이용하여 스크립트를 수정하면 다음과 같이됩니다.

수정 된 스크립트 :

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] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Google Apps Script에서 새로 생성 된 폴더의 ID 가져 오기

분류에서Dev

Google Apps 스크립트 : 파일에서 폴더 이름 가져 오기

분류에서Dev

CSV에서 Google Apps Script의 Fusion Table로 배열 가져 오기

분류에서Dev

Google Apps 스크립트에서 폴더 이름 가져 오기

분류에서Dev

Visual Basic 2013의 OpenFileDialog에서 열린 파일의 폴더 경로를 가져 오는 방법

분류에서Dev

한 폴더에서 다른 폴더로 복사 된 모든 파일의 파일 경로 가져 오기

분류에서Dev

bash의 폴더 내용 중 일부에서 최신 파일 가져 오기

분류에서Dev

Google Apps Script에서 "이"파일의 현재 인스턴스를 가져 오려면 어떻게합니까?

분류에서Dev

사용자의 myDrive 폴더에 폴더를 만드는 Google Apps Script 웹 앱은 파일을 내 드라이브 (앱 작성자)로만 보냅니다.

분류에서Dev

Google Apps Script : 루트에서 특정 폴더로 파일을 저장하는 방법은 무엇입니까?

분류에서Dev

폴더 및 하위 폴더에있는 모든 .txt 파일의 경로 가져 오기

분류에서Dev

Automator 서비스에서 여러 파일 / 폴더의 Unix 경로 가져 오기

분류에서Dev

Google Apps Script에서 함수를 가져 오는 방법

분류에서Dev

Android의 다운로드 폴더에서 pdf 또는 doc 파일 가져 오기

분류에서Dev

폴더에서 파일 경로 가져 오기

분류에서Dev

Applescript의 파일 경로에있는 모든 폴더 가져 오기-태그를 지정할 수 있습니다.

분류에서Dev

Google 드라이브 폴더에서 파일 가져 오기

분류에서Dev

파일을 팀 드라이브 폴더로 이동하는 Google Apps Script

분류에서Dev

Google Apps Script를 통해 Google 캘린더의 "위치"설정을 가져 오는 방법은 무엇입니까?

분류에서Dev

가져올 때 동일한 폴더에서 파일 가져 오기 (경로를 하드 코딩하지 않음)

분류에서Dev

경로에서 모든 중첩 폴더 이름 (경로 없음) 가져 오기

분류에서Dev

Google Apps Script로 생성되지 않은 파일에서 메타 데이터 가져 오기

분류에서Dev

Google 고급 드라이브 서비스를 사용하여 Apps Script로 폴더에 새 파일 만들기

분류에서Dev

필터로 폴더에서 파일 크기 가져 오기

분류에서Dev

특정 폴더에서 이름으로 파일 가져 오기

분류에서Dev

특정 폴더에서 이름으로 파일 가져 오기

분류에서Dev

다른 폴더의 파일에서 파이썬 클래스를 가져 오는 방법은 무엇입니까?

분류에서Dev

파일을 저장하기 전에 SaveFileDialog에서 폴더 경로 가져 오기

분류에서Dev

wp8의 폴더에있는 파일 수 가져 오기

Related 관련 기사

  1. 1

    Google Apps Script에서 새로 생성 된 폴더의 ID 가져 오기

  2. 2

    Google Apps 스크립트 : 파일에서 폴더 이름 가져 오기

  3. 3

    CSV에서 Google Apps Script의 Fusion Table로 배열 가져 오기

  4. 4

    Google Apps 스크립트에서 폴더 이름 가져 오기

  5. 5

    Visual Basic 2013의 OpenFileDialog에서 열린 파일의 폴더 경로를 가져 오는 방법

  6. 6

    한 폴더에서 다른 폴더로 복사 된 모든 파일의 파일 경로 가져 오기

  7. 7

    bash의 폴더 내용 중 일부에서 최신 파일 가져 오기

  8. 8

    Google Apps Script에서 "이"파일의 현재 인스턴스를 가져 오려면 어떻게합니까?

  9. 9

    사용자의 myDrive 폴더에 폴더를 만드는 Google Apps Script 웹 앱은 파일을 내 드라이브 (앱 작성자)로만 보냅니다.

  10. 10

    Google Apps Script : 루트에서 특정 폴더로 파일을 저장하는 방법은 무엇입니까?

  11. 11

    폴더 및 하위 폴더에있는 모든 .txt 파일의 경로 가져 오기

  12. 12

    Automator 서비스에서 여러 파일 / 폴더의 Unix 경로 가져 오기

  13. 13

    Google Apps Script에서 함수를 가져 오는 방법

  14. 14

    Android의 다운로드 폴더에서 pdf 또는 doc 파일 가져 오기

  15. 15

    폴더에서 파일 경로 가져 오기

  16. 16

    Applescript의 파일 경로에있는 모든 폴더 가져 오기-태그를 지정할 수 있습니다.

  17. 17

    Google 드라이브 폴더에서 파일 가져 오기

  18. 18

    파일을 팀 드라이브 폴더로 이동하는 Google Apps Script

  19. 19

    Google Apps Script를 통해 Google 캘린더의 "위치"설정을 가져 오는 방법은 무엇입니까?

  20. 20

    가져올 때 동일한 폴더에서 파일 가져 오기 (경로를 하드 코딩하지 않음)

  21. 21

    경로에서 모든 중첩 폴더 이름 (경로 없음) 가져 오기

  22. 22

    Google Apps Script로 생성되지 않은 파일에서 메타 데이터 가져 오기

  23. 23

    Google 고급 드라이브 서비스를 사용하여 Apps Script로 폴더에 새 파일 만들기

  24. 24

    필터로 폴더에서 파일 크기 가져 오기

  25. 25

    특정 폴더에서 이름으로 파일 가져 오기

  26. 26

    특정 폴더에서 이름으로 파일 가져 오기

  27. 27

    다른 폴더의 파일에서 파이썬 클래스를 가져 오는 방법은 무엇입니까?

  28. 28

    파일을 저장하기 전에 SaveFileDialog에서 폴더 경로 가져 오기

  29. 29

    wp8의 폴더에있는 파일 수 가져 오기

뜨겁다태그

보관