Google Apps Script では、プログラムによって Google ドキュメントを作成、変更できます。 新しいメニュー、ダイアログ ボックス、 追加できます
基本情報
Apps Script では、次の 2 つの方法で Google ドキュメントとやり取りできます。 ユーザーがドキュメントの作成や編集を行えるようにするには、スクリプトの できます。また、スクリプトを使用して ドキュメントにバインドされ、 ユーザー インターフェースを変更したり、 ドキュメントが開きます。コンテナにバインドされたスクリプトを Google ドキュメント内から作成するには、 [拡張機能] > [Apps Script] をクリックします。
どちらの場合も、Apps Script の Document Service を使用する例を示します。 説明します。
function createDoc() { var doc = DocumentApp.create('Sample Document'); var body = doc.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 ドライブに新しいドキュメントを作成し、
ドキュメント名と同じテキストを含む段落、
段落を見出しとして指定し、
2 次元配列になります。スクリプトも同じように簡単にコードを
呼び出しを置き換えて既存のドキュメントに
DocumentApp.create()
参加者: DocumentApp.openById()
または openByUrl()
。
ドキュメント内で作成されたスクリプト(コンテナバインド)の場合は、
DocumentApp.getActiveDocument()
。
ドキュメントの構造
Apps Script の観点からは、Google ドキュメントは HTML によく似た構造になっています。
ドキュメント。つまり、Google ドキュメントはさまざまな要素(
Paragraph
または
Table
など)に他の属性が含まれることが多い
あります。Google ドキュメントを変更するスクリプトのほとんどは、
getBody()
です。これは、
Body
は、
その他すべての要素が含まれますが、
HeaderSection
,
FooterSection
、
Footnotes
ただし、どのタイプの要素に他の型を含めることができるかについては、ルールがあります。 さらに、Apps Script の Document Service では、 できます。以下のツリーは、特定の Pod にどの要素を含めることができるかを示しています。 要素のタイプ。
太字の要素は挿入可能です。太字でない要素は 悪用される可能性があります。
- ドキュメント
テキストを置き換えています
Apps Script は、Google ドキュメント内のテキストの置換によく使用されます。たとえば クライアント情報が満載のスプレッドシートで、パーソナライズされた 各クライアントに Google ドキュメントを割り当てる。(この種の操作は、メール merge.)
テキストの置き換えにはさまざまな方法がありますが、最も簡単なのは
replaceText()
メソッド(以下の例を参照)replaceText
はほとんどをサポート
(JavaScript の正規表現機能の一部)最初の関数は、
Google ドキュメントに数行のプレースホルダ テキストを追加します。ですから、
自分でドキュメントにプレースホルダを入力する可能性が高くなります。「
2 番目の関数は、プレースホルダを
client
オブジェクト。
どちらの関数も
getActiveDocument()
メソッド: Google ドキュメント内で作成されたスクリプトにのみ適用されます。
使用する場合は、
DocumentApp.create()
,
openById()
,
または openByUrl()
してください。
プレースホルダを追加する
function createPlaceholders() { var body = DocumentApp.getActiveDocument().getBody(); body.appendParagraph('{name}'); body.appendParagraph('{address}'); body.appendParagraph('{city} {state} {zip}'); }
プレースホルダを置き換える
function searchAndReplace() { var body = DocumentApp.getActiveDocument() .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); }
カスタム メニューとユーザー インターフェース
メニュー、ダイアログ ボックス、 追加できますただし、スクリプトが UI とやり取りできるのは 開いているドキュメントの現在のインスタンスが表示され、スクリプトが ドキュメントにバインドされます。
カスタム メニューを追加する方法と ダイアログを Google ドキュメントに追加します。 ダイアログやサイドバーのカスタム インターフェースの作成について詳しくは、 HTML Service のガイドをご覧ください。 API の一部としてカスタム インターフェースを公開することを計画している場合、 アドオンを使用する場合は、 スタイルガイドを参照してください。 カスタマイズすることもできます。
Google ドキュメント向けアドオン
アドオン: Google ドキュメント内で実行され、インストール可能 Google ドキュメントアドオンストアから 利用できますGoogle ドキュメント用のスクリプトを開発して 世界中と共有したい場合は、Apps Script で 公開する 他のユーザーがアドオンストアからインストールできるようにする必要があります。
Google ドキュメントのアドオンを作成する方法については、 ドキュメント アドオンを作成するためのクイックスタートをご覧ください。
トリガー
Google にバインドされるスクリプト
ドキュメントはシンプルなトリガーを使用して応答できる
ドキュメントの onOpen
イベントに
編集権限を持つユーザーが Google ドキュメントでドキュメントを開くたびに発生します。
onOpen()
という関数を記述するだけで、トリガーを設定できます。例
Google Workspace のカスタム メニューをご覧ください。
シンプルトリガーはメニューの追加には便利ですが、アプリは使用できません。
承認が必要なスクリプト サービス。