現在アクティブなスライドに存在する「特定の種類(シェイプ、線、画像など)のオブジェクト」をすべて選択するGoogle Apps Scriptです。種類はポップアップウィンドウで指定します。線など選択が面倒なオブジェクトをすべて選択&書式設定などが可能になります。
特にありません。今お使いのスライドに組み込めます。
上部のメニューから「指定したオブジェクトタイプをすべて選択」を実行します。
実行前にスライドのオブジェクトを1つ選択しておいてください。どの種類でも構いません。
ポップアップウィンドウで、選択したいオブジェクトの種類を入力します。
大文字でも小文字でも構いません。
今回は「image」と入力して、画像をすべて選択させてみます。
指定されたオブジェクトが見つかると、「N個のオブジェクトを選択します」とメッセージが表示されます。
4個の画像オブジェクトが選択されました。
/**
* このスクリプトの説明、使い方はこちら。
* https://myfunc.jp/items/00015/index.html
*/
function onOpen() {
var ui = SlidesApp.getUi();
// メニューの表示名
var menu = ui.createMenu('スクリプト実行');
// メニューに追加するボタン
menu.addItem('指定したオブジェクトタイプを全て選択', 'selectByObjectType');
// メニューを画面に追加する
menu.addToUi();
}
function selectByObjectType() {
// 開いているプレゼンテーションを取得
const presentation = SlidesApp.getActivePresentation();
// 選択している箇所がスライド内オブジェクトではない場合は処理できないので終了する
const selection = SlidesApp.getActivePresentation().getSelection();
if (selection.getSelectionType() != SlidesApp.SelectionType.PAGE_ELEMENT && selection.getSelectionType() != SlidesApp.SelectionType.TEXT) {
SlidesApp.getUi().alert('スライド内のオブジェクトを選択してください。');
return;
}
// アクティブなスライドの要素を取得
const active_slide = presentation.getSelection().getCurrentPage().asSlide();
const elements = active_slide.getPageElements();
// 対象のオブジェクトタイプをユーザ入力させる
let ui = SlidesApp.getUi();
let response = ui.prompt('選択するオブジェクトのタイプを入力してください', 'SHAPE/IMAGE/LINE/TABLE/VIDEO/SHEETS_CHART/WORD_ART', ui.ButtonSet.OK_CANCEL);
// キャンセルが押されたら or 空欄の場合は何もせず終了
if (response.getSelectedButton() == ui.Button.CANCEL || response.getResponseText() == '') {
return;
}
// select(true/false)で使うため、ヒットした数を記録する
let match_count = 0;
// オブジェクトの数だけループ。入力されたタイプと一致したものは選択していく
for (var i = 0; i < elements.length; i++) {
let element_type = elements[i].getPageElementType().toString();
// マッチパターンに変数を使いたいので正規表現を作成
regexp = new RegExp(response.getResponseText(), 'i');
if (element_type.match(regexp)) {
if (match_count == 0) {
// 最初に見つかったものはselect(true)で選択することで、スクリプト実行前に選択されているオブジェクトの選択状態を外す
elements[i].select(true);
} else {
// 2個め以降はselect(false)で複数選択していく
elements[i].select(false);
}
match_count++;
}
}
// 結果を表示する
if (match_count > 0) {
SlidesApp.getUi().alert(match_count + '個の' + response.getResponseText() + 'オブジェクトを選択します');
} else {
SlidesApp.getUi().alert(response.getResponseText() + 'オブジェクトは見つかりませんでした');
}
}
現在アクティブなスライドに存在する「特定の種類(シェイプ、線、画像など)のオブジェクト」をまとめて消すGoogle Apps Scriptです。種類はポップアップウィンドウで指定します。背面にまぎれてしまったゴミの削除などにどうぞ。
選択しているオブジェクトを、指定した数だけコピーするGoogle Apps Scriptです。大量に同じオブジェクトを作りたいときに便利です。
指定したオブジェクトを、全スライドにコピーしてくれるGoogle Apps Scriptです。全ページに注釈を入れたくなったときなどに役立つかもしれません。
フローチャートでよく使う記号を作成するGoogle Apps Scriptです。記号の挿入はクリック数が多いので少しでも短縮するために作ってみました。
スライド内の全ページ、全シェイプのフォントを統一するGoogle Apps Scriptです。フォントがバラバラでお困りのときに。