スライドに毎分自動更新される「デジタル時計」を表示するGoogle Apps Scriptです。講義中等に時計を大画面に映したくなったときにどうぞ。
特にありません。今お使いのスライドに組み込めます。
まずはスライドに時計の文字列を作ります。
フォントや文字色、背景色を設定します。
このページには「時計用のオブジェクト1つだけ」を配置するようにしてください。
次はスクリプトエディタを開き、コードをコピペします。
スクリプトの「事前設定エリア」を編集します。
時計を表示するスライドのURLと、時計のスライド番号を指定します。
このサンプルでは2枚めのスライドに表示したいので、「2」としました。
編集が終わったら保存して、関数「onOpen」を一度実行してください。
スライドに戻り、上のメニューにある「スクリプト実行」から「デジタル時計を更新する」を実行します。
テキストが現在時刻に更新されれば成功です。
動作に問題がなければ、トリガーで毎分実行して自動更新されるようにします。
トリガーは毎分動きますが、00秒に発火するわけではないので最大59秒のディレイが発生してしまいます。
あと、実際に使ってみたところ「スライドショー」(全画面表示)にすると時刻が更新されませんでした・・・お気をつけください。
/**
* このスクリプトの説明、使い方はこちら。
* https://myfunc.jp/items/00140/index.html
*/
function onOpen() {
var ui = SlidesApp.getUi();
// メニューの表示名
var menu = ui.createMenu('スクリプト実行');
// メニューに追加するボタン
menu.addItem('デジタル時計を更新する', 'update_digital_clock');
// メニューを画面に追加する
menu.addToUi();
}
function update_digital_clock() {
// ########## 事前設定エリア ここから ##########
// 対象のスライドファイルのURLを入力してください
// トリガーで動かすのでgetActivePresentation()ではなくURL指定で開く
const url = 'https://docs.google.com/presentation/d/**********';
// 時刻を表示するスライド番号を指定してください(開始値:1)
const clock_slide_number = 2;
// ########## 事前設定エリア ここまで ##########
// プレゼンテーションを取得
const presentation = SlidesApp.openByUrl(url);
// デジタル時計に使う時刻を取得。hourは1桁、minutesは2桁表示とする
const time = Utilities.formatDate(new Date(), 'JST', 'H:mm');
// 事前設定で指定したスライド番号のスライドを取得
const slide = presentation.getSlides()[clock_slide_number - 1];
// スライド内のオブジェクトを取得
const elements = slide.getPageElements();
// このスクリプトはスライド内のオブジェクトは1個しかないことを前提としているので、key:0を指定してシェイプを取得
const shape = elements[0].asShape();
// シェイプにテキスト(時刻)をセット
shape.getText().setText(time);
}