如何在菜单按钮上的其他文档中运行功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在菜单按钮上的其他文档中运行功能相关的知识,希望对你有一定的参考价值。
我正在尝试运行脚本,因此单击菜单项时,将运行创建文本框的功能。我不知道如何不只在google app脚本中拆分文档并从菜单运行功能。
我试图将功能放置在菜单项中,但未与其他文档对话。
menu.js.gs
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 menuItem1() {
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.alert('You clicked the first menu item!');
}
function menuItem2() {
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.alert('You clicked the second menu item!');
}
textbox.js.gs
/**
* Add a new text box with text to a page.
* @param {string} presentationId The presentation ID.
* @param {string} pageId The page ID.
*/x
function addTextBox(presentationId, pageId) {
// You can specify the ID to use for elements you create,
// as long as the ID is unique.
var pageElementId = Utilities.getUuid();
var requests = [{
'createShape': {
'objectId': pageElementId,
'shapeType': 'TEXT_BOX',
'elementProperties': {
'pageObjectId': pageId,
'size': {
'width': {
'magnitude': 150,
'unit': 'PT'
},
'height': {
'magnitude': 50,
'unit': 'PT'
}
},
'transform': {
'scaleX': 1,
'scaleY': 1,
'translateX': 200,
'translateY': 100,
'unit': 'PT'
}
}
}
}, {
'insertText': {
'objectId': pageElementId,
'text': 'My Added Text Box',
'insertionIndex': 0
}
}];
var response =
Slides.Presentations.batchUpdate({'requests': requests}, presentationId);
Logger.log('Created Textbox with 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
}
但是很遗憾,您不能在菜单中使用带有参数的功能。
以上是关于如何在菜单按钮上的其他文档中运行功能的主要内容,如果未能解决你的问题,请参考以下文章