2021/10/20に更新

【GASで便利に】指定したサイズで四角形のシェイプを作る

スライド小技

ポップアップでサイズを指定して、四角形のシェイプを作ることができるGoogle Apps Scriptです。スライドで図面を書く・・・ことは無いと思いますが正確さが求められるシーンで役立つかもしれません。作れるのは四角形だけです。他のシェイプもサイズを指定したい場合は、この機能で作った四角形を基準にしてみてください。

こんな悩みを解決します


  • ピクセル単位で正確なサイズのシェイプを作成したい

用意するもの


特にありません。今お使いのスライドに組み込めます。

このスクリプトで出来ること


  • 幅と高さを指定した、四角形のシェイプを生成することができます。
  • サイズはポップアップウィンドウで指定します。

使い方


1.スクリプトを実行

上部のメニューから「指定サイズで四角形を作成」を実行します。

2.サイズを指定

ポップアップウィンドウにサイズを入力してください。
横幅と高さをスペース区切りで入力します。

OKを押すと、スライドの左上に四角形が現れます。

10×10から100×100まで、10刻みで作成してみました。

3.エラーメッセージ

ポップアップウィンドウに入力された値が、期待した値ではない場合は「幅と高さはスペース区切りの半角数字で入力してください」というメッセージが表示されます。

1未満のサイズを指定した場合は、「幅と高さはそれぞれ1以上の数字を入力してください」というメッセージが表示されます。

スクリプト


/**
 * このスクリプトの説明、使い方はこちら。
 * https://myfunc.jp/items/00016/index.html
 */

function onOpen() {
  var ui = SlidesApp.getUi();

  // メニューの表示名
  var menu = ui.createMenu('スクリプト実行');

  // メニューに追加するボタン
  menu.addItem('指定サイズで四角形を作成', 'insertRectangleSpecifySize');

  // メニューを画面に追加する
  menu.addToUi();
}


function insertRectangleSpecifySize() {

  // 開いているプレゼンテーションを取得
  const presentation = SlidesApp.getActivePresentation();

  // 対象のオブジェクトタイプをユーザ入力させる
  let ui = SlidesApp.getUi();
  let response = ui.prompt('幅と高さをスペース区切りで入力してください', '例:200 50', ui.ButtonSet.OK_CANCEL);

  if(response.getSelectedButton() == ui.Button.CANCEL){
    return;
  }

  // 入力された文字列に問題がないかチェック
  if (!response.getResponseText().match(/^[0-9]+ [0-9]+$/)) {
    ui.alert('幅と高さはスペース区切りの半角数字で入力してください');
    return;
  }

  // 入力された文字列を幅と高さに分割する
  let response_split = response.getResponseText().split(" ");

  if (response_split[0] < 1 || response_split[1] < 1) {
    ui.alert('幅と高さはそれぞれ1以上の数字を入力してください');
    return;
  }

  // アクティブなスライドを取得
  const active_slide = presentation.getSelection().getCurrentPage().asSlide();

  // 四角形のシェイプを追加
  active_slide.insertShape(SlidesApp.ShapeType.RECTANGLE, 0, 0, response_split[0], response_split[1]);

}

関連するアプリ


タグ一覧

最新のアプリ

人気のアプリ

ページトップに戻る
myfunc.jp