添加显示对话框自定义 html 到 Google 幻灯片脚本

Add Show Dialog custom html to Google Slides Script

我试图在执行 AddConclusionSlide 函数期间弹出此对话框,但出现异常:"TypeError: Cannot find function show in object Presentation." [=24] 是否有替代 "show" 的方法=] 幻灯片脚本(这在 google 文档中完美运行)?

function AddConclusionSlide() {
htmlApp("","");

  var srcId = "1Ar9GnT8xPI3ZYum9uko_2yTm9LOp7YX3mzLCn3hDjuc";
  var srcPage = 6;
  var srcSlide = SlidesApp.openById(srcId);
  var dstSlide = SlidesApp.getActivePresentation();
  var copySlide = srcSlide.getSlides()[srcPage - 1];
  dstSlide.appendSlide(copySlide);

Utilities.sleep(3000); // change this value to show the "Running script, please wait.." HTML window for longer time.
htmlApp("Finished!",""); 
Utilities.sleep(3000);  // change this value to show the "Finished! This window will close automatically. HTML window for longer time.
htmlApp("","close"); // Automatically closes the HTML window.
}

 function htmlApp (status,close) {
     var ss = SlidesApp.getActivePresentation();
     var htmlApp = HtmlService.createTemplateFromFile("html");     
      htmlApp.data = status;
      htmlApp.close = close;
      ss.show(htmlApp.evaluate()
     .setWidth(300)
     .setHeight(200));
}
<!DOCTYPE html>
<html>
<head>
<base target="_top">
  <style>
  img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 25%;
}
    .gap-10 {
      width: 100%;
      height: 20px;
    }

    .gap-20 {
      width: 100%;
      height: 40px;
    }

    .gap-30 {
      width: 100%;
      height: 60px;
    }
  </style>
</head>
<body>
   <div class="container">
<div>
        <p align="justify" style="font-family:helvetica,garamond,serif;font-size:12px;font-style:regular;" class="light">
        Function is running... This could take a while. It's a lot of data...</p>   
        </div>
<p id="status">(innerHTML).</p>
<div id="imageico"></div>
<script>
var imageContainer = document.getElementById("imageico");
if (<?= data ?> != "Finished!"){
document.getElementById("status").innerHTML = "";
} else {
document.getElementById("status").innerHTML = "";
}     
if (<?= close ?> == "close"){
google.script.host.close();
}
</script>
</body>
</html>

Spreadsheet 对象不同,Slide 对象没有 show 方法。所以,需要使用classui

SlidesApp.getUi().showModalDialog(htmlApp.evaluate()
 .setWidth(300)
 .setHeight(200), "My App")