特定のGoogle Driveにある画像を、1枚ずつスライドに貼り付けてくれるGoogle Apps Scriptです。大量の画像を含む報告資料やメンバー紹介用スライドなどにどうぞ。画像はスライドの中央に配置されます。対応している画像タイプはJPG、GIF、PNGの3種類です。
特にありません。今お使いのスライドに組み込めます。
貼り付けたい画像を、Googleドライブにアップロードします。
スクリプト実行のたびに1つのフォルダを処理します。画像を複数のフォルダに保存している場合は、スクリプトをフォルダの数だけ実行してください。
画像(JPG、GIF、PNG)以外のファイルは無視しますので、他のファイル形式(スプレッドシートなど)が保存されていても問題ありません。
上部のメニューから「ドライブの画像を1枚ずつスライドに貼る」を実行します。
「画像が保存されているフォルダのURLを入力してください」とメッセージが出ますので、フォルダのURLを入力してください。https://drive.google.comから始まる文字列です。
スクリプト終了まで待つと、スライドが追加されてそれぞれに画像が1枚ずつ配置されているはずです。
この処理は比較的重いようで、5枚の画像を貼るのに10秒前後かかります。画像が大量にある場合は、GASの最大実行時間にご注意ください。
/**
* このスクリプトの説明、使い方はこちら。
* https://myfunc.jp/items/00019/index.html
*/
function onOpen() {
var ui = SlidesApp.getUi();
// メニューの表示名
var menu = ui.createMenu('スクリプト実行');
// メニューに追加するボタン
menu.addItem('ドライブの画像を1枚ずつスライドに貼る', 'insertImageFromDrive');
// メニューを画面に追加する
menu.addToUi();
}
function insertImageFromDrive() {
// uiを取得
let ui = SlidesApp.getUi();
// 画像が保存されているドライブのURLを入力させる
const input = ui.prompt('URLを入力してください', '画像が保存されているGoogleドライブのフォルダのURLを入力してください', ui.ButtonSet.OK_CANCEL);
// キャンセルが押されたら終了
if (input.getSelectedButton() == ui.Button.CANCEL) {
return;
}
// 入力されたURLからフォルダのIDを取得する
const url_drive_id = input.getResponseText().match(/https:\/\/drive.google.com\/drive\/folders\/(.*)$/)[1];
// フォルダ、ファイルを取得
const folder = DriveApp.getFolderById(url_drive_id);
let files = folder.getFiles();
// 開いているプレゼンテーションを取得
let presentation = SlidesApp.getActivePresentation();
// ファイルを取り出し終わるまでループ
while (files.hasNext()) {
// ファイルを取得
let file = files.next();
// MIMEタイプがimageではないものは処理しない
if(!file.getMimeType().match(/image/)){
continue;
}
// 画像のバイナリを取得
let image_blog = file.getBlob();
// スライドを追加する
let slide = presentation.appendSlide(SlidesApp.PredefinedLayout.BLANK);
// 画像をスライドに追加する
slide.insertImage(image_blog);
// 追加した画像を取得して、スライド中央に配置する
let image_object = slide.getImages()[0];
image_object.alignOnPage(SlidesApp.AlignmentPosition.HORIZONTAL_CENTER).alignOnPage(SlidesApp.AlignmentPosition.VERTICAL_CENTER);
}
}
選択している画像オブジェクトのサイズを、スライドの幅と同じサイズに拡大(縮小)するGoogle Apps Scriptです。位置も上下中央、左右中央に移動します。
指定したフォルダに入っている画像を、スプレッドシートのセルに反映するGoogle Apps Scriptです。画像もシート上に表示しますので画像の整理やレビューをするときに役立つかも。
フローチャートでよく使う記号を作成するGoogle Apps Scriptです。記号の挿入はクリック数が多いので少しでも短縮するために作ってみました。
スライド内の全ページ、全シェイプのフォントを統一するGoogle Apps Scriptです。フォントがバラバラでお困りのときに。