
photo credit: Pictures by Ann Barn roof repair via photopin (license)
みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
GASでGoogleスライドのプレゼンテーションを楽々作成するテクニックについてシリーズでお伝えしています。
前回の記事はこちら!

つまり、オブジェクトIDさえわかれば、操作対象のシェイプを取得して、そのテキストなどを操作するということができるわけですね。
そのテキストの設定する操作について見ていきましょう。
ということで、今回はGASでGoogleスライドのシェイプのテキストを置換する方法です。
では、行ってみましょう!
前回のおさらい
まず前回のおさらいからです。
以下のコードが、オブジェクトIDからシェイプを取得するというものですね。
function getShapeByObjectId(){
var url ='*****テンプレート用プレゼンテーションのURL*****';
var presentation = SlidesApp.openByUrl(url);
var id = 'g7c06e4895a_0_4';
var shape = presentation.getPageElementById(id).asShape();
Logger.log(shape.getText().asString());
}
シェイプを取得して、その文字列を出力するというものでした。
シェイプの文字列を置換したい
今回は、取得したシェイプの文字列を置換する方法について見ていきます。
例えば、以下のようなスライドがあって、波かっこの箇所を指定の文字列に置換したいとします。
シェイプの文字列を設定する
まずは、シンプルにシェイプの文字列を設定する方法から見ていきます。
そのためには、そのTextRangeオブジェクトのsetTextメソッドを使います。
例えば、前述のスライドについて、真ん中のシェイプのオブジェクトIDが「g7c06e4895a_0_4」だったとして、以下のコードを実行してみましょう。
function setShapeString(){
var url ='*****テンプレート用プレゼンテーションのURL*****';
var presentation = SlidesApp.openByUrl(url);
var id = 'g7c06e4895a_0_4';
var shape = presentation.getPageElementById(id).asShape();
shape.getText().setText('ノンプロ研中級講座【GASコース】nnスコープ・関数');
}
すると…
おお、うまくいきましたね!
シェイプの文字列を置換する
では、もう少し進めて今度はシェイプの文字列について置換をして差し替えるようにしましょう。
文字列を置換するには、replaceメソッドでしたね。
それをもとに、こんなコードを作りました。
function replaceShapeString(){
var url ='*****テンプレート用プレゼンテーションのURL*****';
var presentation = SlidesApp.openByUrl(url);
var id = 'g7c06e4895a_0_4';
var shape = presentation.getPageElementById(id).asShape();
var str = shape.getText().asString();
str = str
.replace('{講座名}','中級講座')
.replace('{コース名}', 'GASコース')
.replace('{レッスン名}', 'スコープ・関数')
shape.getText().setText(str);
}
スライドの文字列を初期の状態に戻して実行すると…
ばっちりです。
まとめ
以上、GASでGoogleスライドのシェイプのテキストを置換する方法についてお伝えしました。
ポイントは以下の通りですね。
- シェイプの文字列を設定するにはTextRangeオブジェクトのsetTextメソッド
- 文字列の置換はreplaceメソッド
次回は、スプレッドシートのデータをもとにシェイプの文字列を置換するスクリプトを作成していきます。

どうぞお楽しみに!
連載目次:GASでGoogleスライドのプレゼンテーションを楽々作成
定例会議用資料、レポート、プレゼンテーションなど、テンプレートをもとにGoogleスライドのプレゼンテーションを作るというお仕事はけっこうあります。全部は無理にしても、いくつかの段取りは、GASを使って自動化できるかも…!?このシリーズでは、そのようなGoogleスライドのプレゼンテーション自動化のアイデアと、スクリプトの書き方を紹介します!- GASでGoogleスライドのプレゼンテーションを操作するはじめの一歩
- GASでGoogleスライドを操作するSlidesサービスの基礎の基礎
- GASでGoogleスライドのSlideオブジェクトの概要とその取得方法
- GASでGoogleスライドのテキストボックスや図形などを取得する方法
- GASでGoogleスライドのテキストボックスの文字列を取得する方法
- GASでGoogleスライドの特定のシェイプをオブジェクトIDで取得する方法
- GASでGoogleスライドのシェイプのテキストを置換する方法
- GASでスプレッドシートのデータをもとにGoogleスライドの文字列を置換する
- GASでGoogleスライドのプレゼンテーションをコピーする方法
- GASでコピーしたGoogleスライドのプレゼンテーションを取得する方法




