Googleスライドの文字を自動入力してキャプションを作成するGAS
キャプションを集める際、各々からWordファイルをもらう形式では手間なのでGASで自動化を行ってみました。
はじめに
写真展の下につけるキャプション、毎回部員にWordへ入力してもらい、ファイルを1つづつ印刷するのは手間でした。自分の負担を減らすためにGASでの自動化を行いました。
Word管理の問題点
- 部長の負担が多すぎる
- Wordファイルをちょっと触れるとデザインが変わってしまう
- あとからのデザイン変更が、全てのファイルを変更することになる
- 誰が送信したのかすぐにわからない
改善策
- Googleフォームで回収
- Googleスライドにスプレッドシートの結果を代入(GAS利用)
結果
簡単にキャプションを印刷することができた。切るのは大変だが、1時間以内には終わり他の部員でもできるためさほど問題はない。
方法
-
Googleフォームでアンケートを作り、「名前」「キャプション」「機材」「撮影地」など各写真展に合わせた回答を得る。 この際、文字数制限を忘れないこと。長文がやってきてデザインが崩れることを回避するべき また、デザイン案ができている場合載せること。タイトルをカギカッコなどで囲うデザインの場合は、~ ~、「」、"" などの利用も制限しておくとあとから困らない また、学生番号などは半角、全角があることを念頭に置く。
-
Googleフォームをスプレッドシートに出力 出力後、スプレッドシートをコピーし各列のタイトルをわかりやすい単語に変えておく
-
Googleスライドでデザインを仮ぎめし、共有リンクを作っておく
-
Google Apps Scriptを起動し、以下のコードを利用
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("フォームの回答 1");
var data = sheet.getDataRange().getValues();
var pre = SlidesApp.openByUrl("スライドの共有URL");
var template = pre.getSlides()[0];
for(var i=1;i<data.length;i++){
var slide = pre.appendSlide(template);
for(var j=0;j<data[0].length;j++){
slide.replaceAllText("~"+data[0][j]+"~", data[i][j]);
}
}
}
GASを実行し、デザインのチェック
GASを実行したあとに、デザインをチェックしておく。よく見ると誤字などが紛れていることがかなり多いため、印刷後も念入りにチェックしておく。
改善策を使って
かなり作業量を減らすことができた。毎回フォームのURLを共有するだけで集まるので、印刷までを含めた負担が数十分で済む。
後日談
大学でGoogleフォームの利用が制限されるようになってきた。
また、部で名刺カードを新歓ように買っていたため、ラベル屋さんで MicrosoftForms → Excel → 名刺 とすることで打開策を得た。
他大学でどこまで制限があるかわからないが、ご参考までに。