[google-apps-script] Google 문서 / 드라이브-제목에 번호 매기기

Google 문서 / 드라이브 문서에서 제목에 번호를 매길 수 있습니까?



답변

더 쉬운 것을 원한다면 제목에 번호를 매길 수있는 “목차” 라는 Google 부가 기능이 있습니다.

이 부가 기능을 설치하려면 :

  1. Add-Ons> Get Add-Ons를 클릭합니다.
  2. “목차”아이콘을 클릭하거나이 애드온을 검색하여 설치하십시오.

그러면 목차가 사이드 바에 나타납니다. 제목 번호 형식 메뉴를 클릭하고 1.2.3을 선택합니다.

번호를 ‘새로 고침’하려면 이전 문서가있는 경우 문서 형식을 다시 지정해야하지만 실제로 애드온은 매우 잘 작동합니다.

이 포럼에서 답을 봤습니다 .


답변

업데이트 : 이제 github 에서 사용할 수 있습니다 .

업데이트 2 : 이제 github에 대한 2 개의 pull 요청 덕분에 빈 제목과 빈 줄을 처리합니다.

업데이트 3 : github 및 아래 코드가 새 문서 HEADING 식별을 처리하도록 수정되었습니다.


Mikko Ohtamaa가 언급 한 스크립트를 수정하고 다음을 수행 할 수 있는 제목 도구 문서 메뉴를 추가하는 Google Apps 스크립트를 만들었습니다 .

  • 자동 번호 제목
  • 명확한 제목 번호

Google 문서 제목에 자동으로 번호를 매기는 방법 :

  1. 문서> 도구> 스크립트 편집기 …를 엽니 다.
  2. 빈 프로젝트 시작
  3. 아래 코드를 붙여넣고 원하는 이름으로 저장하세요.
  4. 실행> onOpen을 선택하고 처음으로 스크립트를 승인합니다.
  5. 실행> onOpen을 선택하십시오.
  6. 문서로 변경하고 생성 된 제목 도구 사용자 정의 메뉴 의 기능을 사용해보십시오 .

~~ 면책 조항 : 빈 제목에 문제가있을 수 있습니다.하지만 언제든지 수정하고 작업을 다시 실행할 수 있습니다. ~~

복사하여 붙여 넣을 코드 :

function onOpen() {
  DocumentApp.getUi().createMenu('Headings Tools')
  .addItem('Auto Number Headings', 'numberHeadingsAdd')
  .addItem('Clear Heading Numbers', 'numberHeadingsClear')
  .addToUi();
}

function numberHeadingsAdd(){
  numberHeadings(true);
}

function numberHeadingsClear(){
  numberHeadings(false);
}

function numberHeadings(add){
  var document = DocumentApp.getActiveDocument();
  var body = document.getBody();
  var paragraphs = document.getParagraphs();
  var numbers = [0,0,0,0,0,0,0];
  for (var i in paragraphs) {
    var element = paragraphs[i];
    var text = element.getText()+'';
    var type = element.getHeading()+'';

    // exclude everything but headings
    if (!type.match(/HEADING\d/)) {
      continue;
    }

    // exclude empty headings (e.g. page breaks generate these)
    if( text.match(/^\s*$/)){
      continue;
    }

    if (add == true) {
      var level = new RegExp(/HEADING(\d)/).exec(type)[1];
      var numbering = '';

      numbers[level]++;
      for (var currentLevel = 1; currentLevel <= 6; currentLevel++) {
        if (currentLevel <= level) {
          numbering += numbers[currentLevel] + '.';
        } else {
          numbers[currentLevel] = 0;
        }
      }
      Logger.log(text);
      var newText = numbering + ' ' + text.replace(/^[0-9\.\s]+/, '');
      element.setText(newText);
      Logger.log([newText]);
    } else {
      Logger.log(text);
      element.setText(text.replace(/^[0-9\.\s]+/, ''));
    }
  }

}


답변

이전 헤더를 복사 / 붙여 넣기 만하면됩니다.

번호 매기기 목록의 항목을 복사하여 붙여 넣으면 번호 매기기가 유지되고 관련 경우 번호가 자동으로 변경됩니다.


답변

작성 이후 (2020 년 4 월) 제안 된 많은 앱이 더 이상 사용되지 않거나 더 이상 작동하지 않습니다.

내가 찾은 번호가 매겨진 제목의 방법은 다음과 같습니다.

  1. 부가 기능 받기로 이동
  2. Markdown 도구 검색 및 설치

마크 다운 도구에는 번호가 매겨진 제목을 사용하는 옵션이 있습니다. 내장 된 Google 목차로 매력처럼 작동합니다.

목차를 만들려면 :

  1. 메뉴 항목 삽입으로 이동하여 목차를 선택합니다.


답변

마크 다운 표제를하기위한 버전을 작성했지만 일반 표제 번호도 지원합니다. 소스는 여기 https://github.com/jordan2175/markdown-tools 이며 G Suite Marketplace를 통해 ‘Markdown Tools’로 사용할 수 있습니다.


답변

이전에 언급 한 추가 기능 “목차”는 오늘부터 사용할 수 없습니다. ” Markdown Tools ” 라는 이름을 설치했습니다. 일단 설치되면 기본 제목 스타일을 적용한 다음 Add-Ons> Markdown Tools> Heading numbers 로 이동하여 문서의 모든 제목에 적용 할 원하는 번호 스타일을 선택해야합니다.


답변