Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在菜单按钮上的不同文档中运行函数_Javascript_Google Apps Script - Fatal编程技术网

Javascript 如何在菜单按钮上的不同文档中运行函数

Javascript 如何在菜单按钮上的不同文档中运行函数,javascript,google-apps-script,Javascript,Google Apps Script,我正在尝试运行脚本,以便在单击菜单项时,运行创建文本框的函数。我不知道如何在谷歌应用程序脚本中拆分我的文档,并从菜单中运行一个函数 我试图将函数放在菜单项中,但它没有与其他文档对话 menu.js.gs 函数onOpen(){ var ui=SpreadsheetApp.getUi(); //或文档或格式。 ui.createMenu(“自定义菜单”) .addItem('第一项','菜单项1') .addSeparator() .addSubMenu(ui.createMenu('Sub-me

我正在尝试运行脚本,以便在单击菜单项时,运行创建文本框的函数。我不知道如何在谷歌应用程序脚本中拆分我的文档,并从菜单中运行一个函数

我试图将函数放在菜单项中,但它没有与其他文档对话

menu.js.gs 函数onOpen(){ var ui=SpreadsheetApp.getUi(); //或文档或格式。 ui.createMenu(“自定义菜单”) .addItem('第一项','菜单项1') .addSeparator() .addSubMenu(ui.createMenu('Sub-menu')) 函数addTextBox(presentationId,pageId) .addToUi(); } 函数menuItem1(){ SpreadsheetApp.getUi()//或DocumentApp或FormApp。 .alert('您单击了第一个菜单项!'); } 函数menuItem2(){ SpreadsheetApp.getUi()//或DocumentApp或FormApp。 .alert('您单击了第二个菜单项!'); } textbox.js.gs
/**
*将包含文本的新文本框添加到页面。
*@param{string}presentationId表示形式ID。
*@param{string}pageId页面ID。
*/x
函数addTextBox(presentationId,pageId){
//可以指定要用于创建的图元的ID,
//只要ID是唯一的。
var pageElementId=Utilities.getUuid();
var请求=[{
“createShape”:{
“objectId”:pageElementId,
“shapeType”:“文本框”,
“elementProperties”:{
“pageObjectId”:pageId,
“大小”:{
“宽度”:{
“震级”:150,
‘单位’:‘PT’
},
“高度”:{
“震级”:50,
‘单位’:‘PT’
}
},
“转换”:{
“scaleX”:1,
"scaleY":1,,
“translateX”:200,
“translateY”:100,
‘单位’:‘PT’
}
}
}
}, {
“插入文本”:{
“objectId”:pageElementId,
“文本”:“我添加的文本框”,
“insertionIndex”:0
}
}];
var响应=
Slides.Presentations.batchUpdate({'requests':requests},presentationId);
Logger.log('创建了ID为的文本框'+
response.replies[0].createShape.objectId);
}
这是:

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  // Or DocumentApp or FormApp.
  ui.createMenu('Custom Menu')
      .addItem('First item', 'menuItem1')
      .addSeparator()
      .addSubMenu(ui.createMenu('Sub-menu')
            function addTextBox(presentationId, pageId)
      .addToUi();
}
应该是这样的:

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  // Or DocumentApp or FormApp.
  ui.createMenu('Custom Menu')
  .addItem('First item Title', 'menuItem1')
  .addSubMenu(SpreadsheetApp.getUi().createMenu("My SubMenu")
  .addItem('Add Text Box','addTextBox'))
  .addToUi();
  //With other functions below this
}
但不幸的是,您不能在菜单中使用带有参数的函数。

这:

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  // Or DocumentApp or FormApp.
  ui.createMenu('Custom Menu')
      .addItem('First item', 'menuItem1')
      .addSeparator()
      .addSubMenu(ui.createMenu('Sub-menu')
            function addTextBox(presentationId, pageId)
      .addToUi();
}
应该是这样的:

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  // Or DocumentApp or FormApp.
  ui.createMenu('Custom Menu')
  .addItem('First item Title', 'menuItem1')
  .addSubMenu(SpreadsheetApp.getUi().createMenu("My SubMenu")
  .addItem('Add Text Box','addTextBox'))
  .addToUi();
  //With other functions below this
}

但不幸的是,您不能使用菜单中带有参数的函数。

如果textbox.js.gs在一个应用程序中,我认为它可以调用每个应用程序,但我们将直接调用它,而不是再次使用函数调用。请尝试删除函数I,然后调用“function addTextBox(presentationId,pageId)”如果textbox.js.gs在一个应用程序中,我认为它可以调用每个应用程序,但我们将直接调用它,而不是再次使用函数调用。请尝试删除函数I您的调用“function addTextBox(presentationId,pageId)”