Google関連

[Google Apps Script]すべてのスライド上のすべてのシェイプに対して処理を行う

今回もGoogle Apps Script(Google スライド)ネタです。
今回はすべてのスライド上にあるすべてのシェイプに対して処理を行うコードです。Google スライドでスクリプトを実行する方法については下記記事をご参照ください。

function myFunction() {
  var slides = SlidesApp.getActivePresentation().getSlides();
  slides.forEach(function(slide) {
    slide.getShapes().forEach(function(shape) {
      SlidesApp.getUi().alert(shape.getText().asString());
    });
  });
}

上記コードを実行すると、各スライド上にある各シェイプから文字列を取得し、メッセージボックスで表示していきます。

処理は単純で、下記のような流れで文字列を取得しています。

Presentation.getSlidesメソッドでスライドを配列として取得

forEach文でループ

Slide.getShapesメソッドでシェイプを配列として取得

forEach文でループ

Shape.getTextメソッドでTextRange取得

TextRange.asStringメソッドで文字列取得

コードを一部変更すれば、すべてのシェイプのフォントを変更する処理も簡単に実行できます。

function myFunction() {
  var slides = SlidesApp.getActivePresentation().getSlides();
  slides.forEach(function(slide) {
    slide.getShapes().forEach(function(shape) {
      //各シェイプのフォントを「Kosugi」に変更
      shape.getText().getTextStyle().setFontFamily("Kosugi");
    });
  });
  SlidesApp.getUi().alert("処理が終了しました。");
}

関連記事

  1. Microsoft Graph

    [Google Apps Script]Office 365 unified APIを使ってメールを…

    久しぶりのGoogle Apps Scriptネタです。今回はGo…

  2. Google関連

    Google Apps Script Execution APIを試してみた。

    「「GAS Station #2」に参加してきました。」で書いた通り、…

  3. Google関連

    [Google Apps Script]選択中のスライドに対してのみ処理を行う

    以前、Google スライドですべてのスライドに対して処理を行う方法に…

  4. Office関連

    CDOを使ってGmail送信を行うVBAマクロ

    「VBA Gmail 送信」といったキーワード検索で、「Gmail A…

  5. Google関連

    [Google Apps Script]CLIツール「clasp」を試してみました。

    今年の初めに話題になった、GASのCLI(Command Line I…

  6. Google関連

    [Google Apps Script]別のアドレスからメールを送信する。

    Google Apps Scriptでメール送信するGmailApp.…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP