所以情况就是我将一个脚本发布为一个Web应用程序,它将一个电子表格的副本创建到点击它并打开它的人的google驱动器中。
此电子表格附带的表单可以正确复制。我想要的是有一个按钮(带有附加脚本的图片),当点击它时将启动谷歌表格的方式与该人点击'表格>相同的方式去现场表演'。
我尝试获取表单ID如下(从另一个SO问题得到这个):
app.controller("cobacont", ['$scope', '$http', function($scope, $http) {
$scope.cari = function() {
$http.get('https://........a={{month}}').then(function(response) {
...........
});
};
}]);
但是我不相信这是表单实时版本的id,也不能找到一种方法将这个id放入一个可行的URL中。 (我很确定这是您通过单击表单>编辑表单进入的表单的ID)
答案 0 :(得分:1)
您无法直接从图纸链接,但您可以使用Apps脚本来提供包含表单链接的弹出窗口。这是一个示例:
function showForm() {
// Helper function gets the live URL for the form
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var form = sheet.getFormUrl();
showAnchor(form, "Google Form");
}
function showAnchor(url, name) {
// Build some simple HTML and display
var html = '<html><body><a href="'+url+'" target="blank" onclick="google.script.host.close()">'+name+'</a></body></html>';
var ui = HtmlService.createHtmlOutput(html);
SpreadsheetApp.getUi().showModelessDialog(ui,"demo");
}
另一个选项是包含一个样式化的单元格,可以作为表单的“按钮”。它消除了显示弹出窗口点击的额外步骤。这就像编写动态hyperlink
公式一样简单:
function showForm() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var form = sheet.getFormUrl();
sheet.getSheetByName('Sheet1').getRange(2,1).setValue('=hyperlink("' + form + '", "Open Form")');
}