2024年6月4日 星期二

Google Apps Script:Google 試算表 To Google 簡報





整簡報頁面大小 - 檔案 - 頁面設定 - 自訂


A4 紙張大小為 21公分、29.7 公分


編輯獎狀頁面主題範本 - 投影片 - 編輯主題


試算表填入的資料,文字方框記得選 預留位置



複製簡報 ID

https://docs.google.com/presentation/d/15l1yoSUdrNfEdn1RuDBSGaxYDeGD_9ThX3SsRsB0YSE/edit#slide=id.SLIDES_API1792754881_0



新增擴充功能 - Apps Script




function onOpen() { var ui = SpreadsheetApp.getUi(); ui.createMenu('獎狀套印') // 可自行命名 .addItem('生成獎狀', 'createSlidesFromSheet') // 可自行命名 .addToUi(); }

function createSlidesFromSheet() {
// 開啟試算表和取得第一個工作表 var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; var data = sheet.getRange("A2:D").getValues(); // 獲取A、B、C、D欄位的資料
// 創建或打開現有的 Google 簡報 var presentationId = "YourGoogleSlidesID"; // 在此處粘貼您的簡報ID var presentation = SlidesApp.openById(presentationId); // 清除簡報中的所有幻燈片,但保留第一張幻燈片作為模板 var slides = presentation.getSlides(); var templateSlide = slides[0]; for (var i = slides.length - 1; i > 0; i--) { // 保留第一張模板幻燈片 slides[i].remove(); } // 遍歷試算表中的每一列,並為每一列創建一個新幻燈片 for (var i = 0; i < data.length; i++) { var rowData = data[i]; if (rowData[0] || rowData[1] || rowData[2]) { // 檢查是否有內容 // 使用模板幻燈片創建新幻燈片,並插入到正確的位置 var slide = presentation.appendSlide(templateSlide.getLayout()); var pageElements = slide.getPageElements(); // 假設模板幻燈片有四個文字框,分別對應A、B、C、D欄位
var textBoxCount = 0; for (var j = 0; j < pageElements.length; j++) { if (pageElements[j].getPageElementType() == SlidesApp.PageElementType.SHAPE) { var shape = pageElements[j].asShape(); if (shape.getText()) { shape.getText().setText(rowData[textBoxCount]); textBoxCount++; if (textBoxCount >= 4) break; // 更新四個文字框後退出 } } } } } // 移除模板幻燈片 templateSlide.remove(); }



趕快來驗收成果吧~~







沒有留言:

張貼留言

歡迎大家一起留言討論!