首頁/AI 講義/數位工具・自動化

數位工具・自動化 · Workspace+GAS+Gemini約 12 分鐘Automation

用Gemini生成簡報大綱自動建Slides

用Gemini生成簡報大綱自動建Slides — 賴家榮 AI 教學

overview這篇要帶你做什麼

你只要給一個主題,Gemini 幫你想大綱,Apps Script 幫你把一張一張投影片自動排好,一份 Google Slides 就生出來了。

Key Takeaways

  • 輸入一個主題,Gemini 產生「每頁標題+重點」的簡報大綱。
  • 用 Google Apps Script 的 SlidesApp 自動建立簡報、一頁一頁填內容。
  • 全程在瀏覽器裡完成,不用裝任何軟體,也不用會寫程式的底子。
  • 金鑰用 PropertiesService 存起來,不會寫死在程式碼裡外流。
  • 做完可以重複使用,下次換個主題再跑一次就好。
  • 適合經常要做提案、教學、產品介紹簡報的人。

很多人做簡報最卡的不是排版,而是「一開始不知道要放哪幾頁」。這篇教學就是把「想大綱」交給 Gemini,把「做投影片」交給 Apps Script,你只負責出一個主題。整個流程跑一次大概三分鐘,比自己從空白簡報開始快非常多。

why為什麼值得這樣做

手動做簡報大綱很花時間,而且容易漏掉重點段落。Gemini 擅長把一個主題拆成有邏輯的章節,你把它當成一個「幫你打草稿的助理」,先產出結構,你再微調,比從零開始快很多。這對常要對外提案、內部教學、產品說明的人特別有感。

而 Apps Script 的好處是它「原生就住在 Google 帳號裡」,可以直接操作你的 Google Slides、Docs、Sheets、Gmail,不用額外授權第三方軟體,也不用把資料搬來搬去。大綱生出來的當下,就能直接變成一份實體簡報存進你的雲端硬碟,這是一般 AI 聊天工具做不到的。

prepare開始前要準備什麼

Checklist

  • 一個 Google 帳號(個人或 Workspace 都可以)。
  • 到 Google AI Studio 申請一組 Gemini API 金鑰(免費額度就夠測試)。
  • 打開 script.google.com,準備建立一個新的 Apps Script 專案。
  • 確認你的帳號可以建立 Google Slides 檔案(一般帳號都可以)。
  • 把 API 金鑰先複製起來,等一下要貼到指令碼屬性裡。

steps一步一步實作

1申請 Gemini API 金鑰

動作到 Google AI Studio(aistudio.google.com)登入後,點「Get API key」建立一組金鑰,複製起來。

常見地雷金鑰等於密碼,不要貼到公開的地方,也不要直接寫進程式碼。

2建立 Apps Script 專案

動作打開 script.google.com,點「新專案」,把預設的 myFunction 內容清空,準備貼上程式碼。

常見地雷第一次使用會要求你登入並同意條款,照著點就好。

3把金鑰存進指令碼屬性

動作在編輯器左側點「專案設定」(齒輪),往下找到「指令碼屬性」,新增一列,名稱填 GEMINI_API_KEY,值貼上你的金鑰。

常見地雷名稱要一字不差是 GEMINI_API_KEY,大小寫也要對,不然程式讀不到。

4貼上呼叫 Gemini 的函式

動作把下方第一段 askGemini 程式碼原封不動貼進編輯器,這是負責跟 Gemini 對話的共用工具。

常見地雷不要改網址裡的模型名稱,gemini-2.5-flash 是目前速度快又便宜的選擇。

5貼上主流程程式碼

動作接著把第二段 createSlidesFromTopic 貼在下面,這段會請 Gemini 產生大綱,再用 SlidesApp 建立簡報。

常見地雷兩段程式碼要放在同一個檔案裡,askGemini 才呼叫得到。

6設定你的主題

動作在主流程最上面的 topic 變數,把字串改成你要的簡報主題,例如「給中小企業的 AI 導入入門」。

常見地雷主題寫具體一點,Gemini 產出的大綱會更貼切。

7執行並授權

動作在上方函式選單選 createSlidesFromTopic,按「執行」,第一次會跳出授權視窗,選你的帳號並允許。

常見地雷授權畫面可能出現「Google 尚未驗證這個應用程式」,因為這是你自己的專案,點「進階→前往」即可。

8查看結果

動作執行完成後看「執行紀錄」,會印出新簡報的網址,點開就能看到自動排好的投影片。

常見地雷如果沒生出來,先到執行紀錄看錯誤訊息,最常見是金鑰名稱打錯。

下面第一段程式碼是共用的「呼叫 Gemini」函式,之後每一篇教學都會用到它。它做的事很單純:把你的文字問題送給 Gemini,再把回答的文字拿回來。請原封不動貼上。

function askGemini(prompt) {
  const key = PropertiesService.getScriptProperties().getProperty('GEMINI_API_KEY');
  const url = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=' + key;
  const payload = { contents: [{ parts: [{ text: prompt }] }] };
  const res = UrlFetchApp.fetch(url, { method:'post', contentType:'application/json', payload: JSON.stringify(payload), muteHttpExceptions:true });
  return JSON.parse(res.getContentText()).candidates[0].content.parts[0].text.trim();
}

第二段是主流程。它請 Gemini 用 JSON 格式回傳大綱(每頁一個標題和幾個重點),再用 SlidesApp 建立一份簡報,逐頁把標題與內容填進去。程式最後會把簡報網址印出來。

function createSlidesFromTopic() {
  const topic = '給中小企業的 AI 導入入門'; // 改成你的主題

  const prompt = '你是簡報企劃。請針對主題「' + topic + '」規劃一份 6 頁的簡報大綱。' +
    '只回傳 JSON 陣列,不要加任何說明文字或 markdown 標記,格式為:' +
    '[{"title":"這頁標題","points":["重點1","重點2","重點3"]}]';

  let raw = askGemini(prompt);
  raw = raw.replace(/```json/g, '').replace(/```/g, '').trim();
  const slidesData = JSON.parse(raw);

  const pres = SlidesApp.create('簡報:' + topic);

  // 移除自動產生的第一張空白頁
  pres.getSlides()[0].remove();

  slidesData.forEach(function(item) {
    const slide = pres.appendSlide(SlidesApp.PredefinedLayout.TITLE_AND_BODY);
    slide.getPlaceholder(SlidesApp.PlaceholderType.TITLE).asShape().getText().setText(item.title);
    const body = item.points.map(function(p){ return '• ' + p; }).join('\n');
    slide.getPlaceholder(SlidesApp.PlaceholderType.BODY).asShape().getText().setText(body);
  });

  pres.saveAndClose();
  Logger.log('簡報已建立:' + pres.getUrl());
}

flow整個流程長怎樣

主題到簡報的自動化流程
1你在程式裡輸入一個簡報主題
2Apps Script 呼叫 askGemini,把主題送給 Gemini
3Gemini 回傳每頁標題與重點的 JSON 大綱
4程式解析 JSON,用 SlidesApp 建立一份新簡報
5逐頁把標題與重點填入投影片版面
6存檔並在執行紀錄印出簡報網址供你打開

整個流程只有一個入口(你的主題)和一個出口(一份 Google Slides)。中間 Gemini 負責「想內容」,SlidesApp 負責「做投影片」。你可以把它想成一條生產線:投料在前,成品在後,中間全自動。

tips幾個實用小技巧

faq常見問題

常見問題 FAQ

我完全不會寫程式,真的做得起來嗎?

可以。你要做的就是「複製、貼上、改一個主題、按執行」這幾個動作。程式碼這篇都幫你寫好了,你不需要看懂每一行,只要照著步驟一步一步做。真的卡住通常是金鑰名稱打錯,或忘了授權,對照步驟檢查一下就會過。

Gemini API 要花錢嗎?

Google 有提供免費額度,拿來學習和測試綽綽有餘。當你用量變大、要正式上線時才需要考慮付費方案。以這篇一次生成一份大綱的用量來說,短期內幾乎不會超出免費範圍,可以放心練習。

為什麼要用指令碼屬性存金鑰,不能直接寫在程式裡?

因為金鑰等於你帳號的通行證。如果直接寫在程式碼裡,一旦你分享專案或不小心貼到別的地方,別人就能拿去用、費用算你的。存進指令碼屬性等於放進保險箱,程式讀得到,但不會出現在你分享出去的程式碼裡。

產出的簡報排版可以再美化嗎?

可以。這篇先用系統內建的標題+內文版面,重點是把流程跑通。想要漂亮一點,可以先做一份自己的範本簡報,改用複製範本的方式,字型、配色、logo 就都保留下來了。

Gemini 回傳的 JSON 有時候會壞掉怎麼辦?

程式裡已經先把 markdown 的程式碼標記清掉,處理掉最常見的狀況。如果還是偶爾解析失敗,可以在 prompt 裡再三強調「只回傳 JSON、不要任何其他文字」,或加一段重試機制,讓它失敗時再問一次。

可以改成生成中文以外的語言嗎?

可以,直接在 prompt 裡指定語言即可,例如「請用英文回覆」。Gemini 支援多語言,投影片的標題和內容就會照你指定的語言產生,很適合要做雙語或外銷簡報的情境。

執行時跳出「未驗證的應用程式」是被駭了嗎?

不是。因為這個專案是你自己剛建立的,Google 還沒有替它做過審核,所以會出現這個提示。點「進階」再點「前往(不安全)」就能繼續,這是自己寫的小工具的正常現象,不用擔心。

一次可以生成很多份簡報嗎?

可以。把主題改成從試算表讀進來,用迴圈跑每一列,就能一次批次生成多份。不過要注意 API 有速率限制,量大時最好在每次呼叫之間加一點延遲,避免短時間內請求太密集被擋。

這份簡報會存在哪裡?

會存在你的 Google 雲端硬碟根目錄,檔名就是程式裡設定的名稱。你也可以用 DriveApp 把它移到指定資料夾。執行紀錄印出的網址點開就是那份簡報,隨時可以再編輯。

模型名稱 gemini-2.5-flash 可以換嗎?

可以,換成其他 Gemini 模型只要改網址裡的名稱即可。flash 版本速度快、成本低,很適合這種產生大綱的任務。如果你需要更複雜的推理,可以換成能力更強的版本,但回應會慢一些、成本也高一點。

cta接下來可以怎麼做

把「想大綱」和「做簡報」都交給流程之後,你會發現省下的不只是時間,而是那種「面對空白簡報不知從何下手」的卡關感。學會這一招,再往下延伸到會議記錄、待辦萃取、自動回信,你的 Workspace 就會慢慢變成一個會自己動的助理。

想讓團隊用 AI+自動化把重複工作交給流程?賴家榮提供 Workspace/GAS/Gemini 企業內訓與大學課程。

預約授課・免費諮詢

本文為賴家榮 AI 教學中心原創教學內容;想讓團隊學會用 AI,歡迎看AI 課程或預約授課 →

代表圖片來源:圖片來源:Pexels

Your turn

把 AI,變成團隊真的用得上的能力。

不論你在哪個產業,賴家榮都能帶團隊把 AI 學到真的用得上。

預約授課・免費諮詢