如何解决如何将超链接添加到Google工作表侧边栏附件中的单元格 解决方法:
此shared spreadsheet带有侧边栏(通过自定义菜单扩展菜单打开)
侧栏显示电子表格中的单元格列表。
当前为硬编码的A1
,A2
,...(在脚本编辑器的SideBarTemplate.html
中)
是否可以链接到特定的单元格?
侧栏中显示的最后一行这是对A1的HyperLink测试
尝试使用带有指向A1(href="#gid=1744285851&range=A1"
)链接的href标签
但这不起作用。
侧栏图片:
GAS代码:
function onOpen(){
addMenu();
}
function addMenu(){
var spreadsheet = SpreadsheetApp.getActive();
var menuItems = [
{name: 'ShowSideBar',functionName: 'showSideBar'}
];
spreadsheet.addMenu ('Extensions Menu',menuItems);
}
function showSideBar(){
// Display a sidebar with custom HtmlService content.
var htmlTemplate = HtmlService
.createTemplateFromFile("SideBarTemplate");
htmlOutput = htmlTemplate.evaluate();
htmlOutput.setTitle('Ext. Side Bar');
SpreadsheetApp.getUi().showSidebar(htmlOutput);
}
HTML模板:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<style>
.style1 {
color: blue;
}
.style2 {
color: red;
}
</style>
</head>
<body>
<?var cells = ["A1","A2"]
for (var i = 0; i< cells.length;i++){?>
<div class="style1">Cell: <?=cells[i]?> <p class="style2">Required: How to make the blue text to hyper link to cell <?=cells[i]}?>
</p></div>
<a href="#gid=1744285851&range=A1">This is HyperLink test to A1</a>
</body>
</html>
解决方法
与documented in this answer一样,侧边栏框架沙箱属性缺少allow-top-navigation
,因此无法导航顶部框架(包括哈希值更改)。
解决方法:
-
使用服务器端
range.activate()
方法。使用google.script.run
,您可以更改Google表格中的有效范围://client side a1buttonElement.addEventListener('click',()=>google.script.run.select("a1")) //server side const select = e => SpreadsheetApp.getActive().getActiveSheet().getRange(e).activate()
-
绕过沙箱限制的一种变通方法是使用Web应用程序。在这种情况下,应通过网络应用程序打开Google表格。如果它是由Web应用程序打开的,我们可以利用
window.opener
api来写入top
框架。参见related answer。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。