GASでドキュメント太字化
GAS初心者のためのドキュメント操作入門
Google Apps Script(GAS)は、Google Workspace のサービスを自動化するための強力なツールです。特にドキュメント操作は、日常業務で頻繁に使われる機能の一つです。この記事では、GAS初心者が最初に触れるべきドキュメント操作の基本を解説します。
まずは、Google ドキュメントを操作するためのクラスである DocumentApp を理解しましょう。DocumentApp は、ドキュメント全体を扱うメソッドや、特定の要素(段落、テーブル、画像など)を取得・変更するための API を提供します。
DocumentAppと基本メソッド
ドキュメントを取得する最も基本的な方法は、DocumentApp.getActiveDocument() です。これは、現在開いているドキュメントを取得します。取得したドキュメントオブジェクトから、本文(body)を取得するには getBody() を使用します。
function getBodyText() {
var doc = DocumentApp.getActiveDocument();
var body = doc.getBody();
var text = body.getText();
Logger.log(text);
}
上記のスクリプトは、アクティブなドキュメントの本文全体を取得し、ログに出力します。getText() は、段落やテーブルのテキストを含むすべての文字列を返します。
本文にテキストを書き込む場合は、setText() を使います。以下は、本文の最初の行を太字に変更する例です。
function setBoldFirstLine() {
var doc = DocumentApp.getActiveDocument();
var body = doc.getBody();
var firstParagraph = body.getParagraphs()[0];
firstParagraph.setBold(true);
}
この例では、getParagraphs() で段落の配列を取得し、最初の段落に対して setBold(true) を呼び出しています。段落単位で文字装飾を行う場合、setBold() の他にも setItalic()、setUnderline() などがあります。
段落と文字装飾の実践
段落(paragraph)は、ドキュメント内でテキストを区切る基本単位です。GAS では、Paragraph オブジェクトを操作することで、テキストの装飾や位置を変更できます。
以下のコードは、ドキュメント内のすべての段落を走査し、特定のキーワードを太字に変換する例です。
function boldKeyword(keyword) {
var doc = DocumentApp.getActiveDocument();
var body = doc.getBody();
var paragraphs = body.getParagraphs();
paragraphs.forEach(function(paragraph) {
var text = paragraph.getText();
if (text.indexOf(keyword) !== -1) {
var start = text.indexOf(keyword);
var end = start + keyword.length;
paragraph.setBold(start, end, true);
}
});
}
このスクリプトは、keyword が含まれる位置を検出し、setBold(start, end, true) でその範囲を太字にします。文字装飾は、ドキュメントの可読性を高めるために非常に有効です。
さらに、段落のスタイルを変更したい場合は、setHeading() や setAlignment() などのメソッドを利用できます。例えば、見出しを作成するには次のようにします。
function setHeading() {
var doc = DocumentApp.getActiveDocument();
var body = doc.getBody();
var firstParagraph = body.getParagraphs()[0];
firstParagraph.setHeading(DocumentApp.ParagraphHeading.HEADING1);
}
まとめと次のステップ
この記事では、GAS初心者がドキュメント操作を始めるための基本的な手順と、段落や文字装飾を扱う方法を紹介しました。DocumentApp の API を使いこなすことで、日常業務の自動化やレポート作成の効率化が可能になります。
次のステップとしては、以下のトピックを学ぶとさらに実践的です。
- テーブルの作成と編集
- 画像の挿入とサイズ変更
- ドキュメントの共有設定をスクリプトで制御
- トリガーを使った定期実行
これらを組み合わせることで、完全に自動化されたドキュメント生成システムを構築できます。ぜひ挑戦してみてください。
コメント
コメントを投稿