我正在使用JavaScript API创建Excel加载项,以便在Excel 2016中构建加载项。
我遇到的问题不是将url / link放在单元格中 - 我宁愿让这个url可点击(因为你可能知道它从输入一个url进入一个单元格并点击)。
在VBA中,解决方案是这样的(例如):
With Worksheets(1)
.Hyperlinks.Add .Range("E5"), "http://example.microsoft.com"
End With
不幸的是,我在JavaScript API中找不到超链接功能。 有什么想法吗?
非常感谢任何帮助和最好的问候 埃里克
答案 0 :(得分:2)
Excel中有两种类型的超链接,一种是通过Hyperlinks.add在VBA中执行的,另一种是通过公式执行的。 Excel JavaScript对象模型很容易支持后者。
class Downloader {
public function __construct($download_links_array,...) {
$handle = new curl_multi_init();
...
}
}
$downloader = new Downloader( array($download_links) );
$downloader->get_item(10); // Will this be too early to call?
~Michael Zlatkovsky,MSFT Office扩展团队开发人员
答案 1 :(得分:2)
截至目前,OfficeJS的测试版中提供了添加超链接。 您可以使用...
加载测试版<script type="text/javascript" src="https://appsforoffice.microsoft.com/lib/beta/hosted/Office.js"></script>
...并使用
获取/设置超链接在单元格A1中设置超链接:
Excel.run((context) => {
const sheet = context.workbook.worksheets.getActiveWorksheet();
const range = sheet.getRange('A1');
range.hyperlink = {
address: `mailto:test@example.com`,
documentReference: null,
screenTip: null,
textToDisplay: 'Send me a Mail!',
};
return context.sync();
})
从单元格A1获取超链接:
Excel.run((context) => {
const sheet = context.workbook.worksheets.getActiveWorksheet();
const range = sheet.getRange('A1').load('values, hyperlink');
return context.sync().then(() => console.log(range.hyperlink));
})
API参考