Google Apps Script를 사용하면 Google Docs도구를 프로그래밍 방식으로 만들고 수정할 수 있습니다. 새 메뉴, 대화상자 및 새로운 UI를 통해 사용자 인터페이스를 있습니다.
기본 사항
Apps Script는 두 가지 방식으로 Google Docs와 상호작용할 수 있습니다. 모든 스크립트는 스크립트의 사용자에게 적절한 권한이 있는 경우 문서를 만들거나 수정하는 대신 스크립트가 바인딩되어 있으며, 이 경우 스크립트 특수 기능을 사용하여 사용자 인터페이스를 변경하거나 문서가 열립니다. Google Docs 내에서 컨테이너 바인딩 스크립트를 만들려면 확장 프로그램 > Apps Script를 클릭합니다.
어떤 경우든 Apps Script Document Service가 있습니다. 보여줍니다
function createDoc() { var doc = DocumentApp.create('Sample Document'); var documentTab = doc.getTab('t.0').asDocumentTab(); var body = documentTab.getBody(); var rowsData = [['Plants', 'Animals'], ['Ficus', 'Goat'], ['Basil', 'Cat'], ['Moss', 'Frog']]; body.insertParagraph(0, doc.getName()) .setHeading(DocumentApp.ParagraphHeading.HEADING1); table = body.appendTable(rowsData); table.getRow(0).editAsText().setBold(true); }
위 스크립트는 사용자의 Google Drive에 새 문서를 만든 다음
ID가 t.0
(기본 첫 번째 탭)인 탭을 검색하고 단락을 삽입합니다.
이 단락을 문서 이름과 같은 텍스트로, 해당 단락을
제목을 사용하고, 2차원 배열의 값을 기반으로 표를 추가합니다. 이
스크립트를 사용하여 기존 문서를
DocumentApp.create()
호출을 대체
대상: DocumentApp.openById()
또는 openByUrl()
입니다.
문서 내에서 만들어진 (컨테이너 결합) 스크립트의 경우 다음을 사용합니다.
DocumentApp.getActiveDocument()
드림
및 Document.getActiveTab()
.
문서의 구조
Apps Script의 관점에서 보면 Google Docs 문서는
HTML 문서와 매우 유사합니다. 즉, 하나 이상의 HTML 문서로
Tab
객체. 각 객체에는
요소 (예: Paragraph
또는
Table
)를 포함할 수 있습니다.
요소 Google Docs도구 문서를 수정하는 대부분의 스크립트는
getTab()
및
asDocumentTab()
그다음에 getBody()
가 나옵니다.
Body
이
을 제외한 탭의 다른 모든 요소가 포함된 이
HeaderSection
,
FooterSection
및 모든
Footnotes
그러나 어떤 유형의 요소가 다른 유형을 포함할 수 있는지에 관한 규칙이 있습니다. 또한 Apps Script의 문서 서비스는 특정 유형의 요소를 다른 요소로 넣을 수 있습니다. 아래 트리는 특정 유형의 요소가 포함할 수 있습니다.
굵게 표시된 요소를 삽입할 수 있습니다. 굵지 않은 요소는 조작될 수 있습니다
- 문서
-
를 통해 개인정보처리방침을 정의할 수 있습니다.
- 탭
- DocumentTab
- 본문
- HeaderSection
-
를 통해 개인정보처리방침을 정의할 수 있습니다.
- ListItem
- HorizontalRule
- InlineDrawing
- InlineImage
- 텍스트
- UnsupportedElement (페이지 번호 등)
- 단락
- HorizontalRule
- InlineDrawing
- InlineImage
- 텍스트
- UnsupportedElement (페이지 번호 등)
- 표
- ListItem
- FooterSection
-
를 통해 개인정보처리방침을 정의할 수 있습니다.
- ListItem
- HorizontalRule
- InlineDrawing
- InlineImage
- 텍스트
- UnsupportedElement (페이지 번호 등)
- 단락
- HorizontalRule
- InlineDrawing
- InlineImage
- 텍스트
- UnsupportedElement (페이지 번호 등)
- 표
- ListItem
- FootnoteSection
- DocumentTab
- 탭
텍스트 바꾸기
Apps Script는 Google Docs에서 텍스트를 대체하는 데 자주 사용됩니다. 다음과 같이 가정해 보겠습니다. 스프레드시트가 고객 정보로 가득 차 있고 개인 맞춤 보고서를 생성하려는 경우 각 고객을 위한 Google Docs (이 유형의 작업을 종종 메일이라고 하며 merge.)
텍스트를 바꾸는 방법에는 여러 가지가 있지만 가장 간단한 방법은
replaceText()
메서드를 사용하여 지도 가장자리에
패딩을 추가할 수 있습니다. replaceText
는 대부분
정규식 기능을 자세히 살펴봤습니다. 아래의 첫 번째 함수는
Google Docs에 몇 줄의 자리표시자 텍스트를 추가하는 경우 현실 세계에서는
자리표시자를 문서에 직접 입력할 가능성이 높습니다. 이
두 번째 함수는
client
객체.
이 두 함수 모두
getActiveDocument()
드림
및
getActiveTab()
Google Docs 문서 내에서 작성된 스크립트에만 적용되는 메서드
을 사용하려면
DocumentApp.create()
님,
openById()
,
또는 openByUrl()
,
Document.getTab()
와 결합됨
하세요.
자리표시자 추가
function createPlaceholders() { var body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody(); body.appendParagraph('{name}'); body.appendParagraph('{address}'); body.appendParagraph('{city} {state} {zip}'); }
자리표시자 대체
function searchAndReplace() { var body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody(); var client = { name: 'Joe Script-Guru', address: '100 Script Rd', city: 'Scriptville', state: 'GA', zip: 94043 }; body.replaceText('{name}', client.name); body.replaceText('{address}', client.address); body.replaceText('{city}', client.city); body.replaceText('{state}', client.state); body.replaceText('{zip}', client.zip); }
맞춤 메뉴 및 사용자 인터페이스
Google Docs도구를 맞춤설정하는 데 메뉴와 대화상자, 있습니다. 그러나 스크립트는 열려 있는 문서의 현재 인스턴스, 그리고 스크립트가 바인딩됩니다.
맞춤 메뉴 및 대화상자를 Google Docs에 추가합니다. 대화상자 또는 사이드바의 맞춤 인터페이스를 만드는 방법에 관한 자세한 내용은 다음을 참고하세요. HTML 서비스 가이드를 참조하세요. Google 뉴스 이니셔티브의 일환으로 맞춤 인터페이스를 부가기능이 있다면 스타일 가이드를 참고하여 Google Docs 편집기의 스타일과 레이아웃입니다.
Google Docs용 부가기능
부가기능은 Google 문서 내에서 실행되며 설치 가능 다운로드할 수 있습니다. Google Docs용 스크립트를 개발한 경우 전 세계와 공유하고 싶다면 Apps Script를 사용하여 스크립트를 다른 사용자가 부가기능 스토어에서 설치할 수 있습니다.
Google Docs용 부가기능을 만드는 방법은 다음을 참고하세요. Docs 부가기능 빌드 빠른 시작
트리거
Google Cloud에 바인드된 스크립트
문서는 간단한 트리거를 사용하여 응답할 수 있습니다.
문서의 onOpen
이벤트에 전달합니다.
수정 액세스 권한이 있는 사용자가 Google Docs에서 문서를 열 때마다 발생합니다.
트리거를 설정하려면 onOpen()
이라는 함수를 작성하기만 하면 됩니다. 예를 들면 다음과 같습니다.
Google Workspace의 맞춤 메뉴를 참고하세요.
단순 트리거는 메뉴를 추가할 때는 유용하지만 어떤 앱도 사용할 수는 없습니다.
승인이 필요한 스크립트 서비스