演示文稿打开时,Google Apps 脚本自定义菜单/createMenu 未显示在幻灯片中

问题描述

createMenu 对幻灯片的工作方式与对电子表格的工作方式有何不同?

这是一个错误还是我的代码有问题?应该举报吗?

简单测试 - - - - - - 从驱动器打开或刷新时不会创建菜单

function onOpen() {
  console.log('In onOpen' );
  
  const pres = SlidesApp.getActivePresentation();
  const slideSet = pres.getSlides();
  
  let ui;
  try {
    ui = SlidesApp.getUi();
    console.log('getUi succeeded' );
  }  catch (e)  {
    console.log('caught in getUi: ',e );
  }
  
  try {
    ui.createMenu( 'Ask ?')
      .addItem('BE1','BE1') 
      .addToUi(); 
  }  catch (e)  {
    console.log('caught in createMenu: ',e );
  }
  
console.log('    after create menu');
  // let result = ui.alert('sample title','Please click "ask?" to begin.',ui.ButtonSet.OK);  
}

对于这个,没有 AUTH 问题,因为几乎没有代码。

清单

{
  "timeZone": "America/Mexico_City","dependencies": {
  },"exceptionLogging": "STACKDRIVER","runtimeVersion": "V8"
}

如果您对从菜单调用的函数感到好奇 - BE1

/**
 * Create a new square textbox,using the supplied element ID.
 */
function BE1 () {
  let pres = SlidesApp.getActivePresentation();
  let slideSet = pres.getSlides();
  let shape = slideSet[0].insertShape(SlidesApp.ShapeType.TEXT_BOX,200,300,60,60);
  let textRange = shape.getText();
  textRange.setText('Hello world!');
}

尽管有 Google 文档,但看起来创建菜单在幻灯片演示打开或刷新时不起作用。这是一个错误吗?知道的人可以举报吗?

= = = = = = = = = = = = = = = = = =

打开窗口的演示文稿。

function onOpen() {

  let ui = SlidesApp.getUi();

  let pres;
  let slideSet = [];
  try {
    pres = SlidesApp.getActivePresentation();
    slideSet = pres.getSlides();
  }    catch (err) {
    console.log('get active presentation err: ',err);
  }
  
    SlidesApp.getUi()
      .createMenu( 'Ask ?')
      .addItem('BE1','BE1')
      .addToUi(); 

}

清单:

{
  "timeZone": "America/Mexico_City","runtimeVersion": "V8"
}

从驱动器加载时出错:获取活动演示错误:{[异常:执行该操作需要授权。]名称:'异常'}

如果由于错误而停止程序,则不会创建菜单。如果您从脚本编辑器运行,则不会收到授权错误。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)