google-apps-script - 将单元格中的电子邮件地址变成可点击的链接
问题描述
我有一列电子邮件地址,真的很想把它们变成可点击的链接。我仍然是一个菜鸟编码器,并试图解决这个问题。所以下面的代码是试图在谷歌应用脚本中记录一个宏。我需要它来引用当前单元格,将该单元格的电子邮件地址转换为指向它的链接,然后向下移动该列。
应该超级简单,取单元格A1的内容,变成单元格内容的链接,然后向下移动列表,再做一遍,直到完成整个列。
function emailing() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getActiveRangeList().setShowHyperlink(true);
spreadsheet.getCurrentCell().setFormulaR1C1('=HYPERLINK("mailto:test@emailaddress.com","test@emailaddress.com")');
};
每封电子邮件都将转换为指向该电子邮件地址的链接。
解决方案
我已经测试了以下代码并成功地将每封电子邮件转换为超链接。假设您想在使用宏时转换所有这些,则此代码适用于您:
function emailing() {
var sheet = SpreadsheetApp.getActiveSheet();
for(i=0; i<1048576; i++) {
var gcells = sheet.getRange(6 + i, 6); //In my test i put the emails in the F column starting from the 6th row.
var email = gcells.getValue();
if (gcells.isBlank()) {
break
}
gcells.setFormulaR1C1('=HYPERLINK("mailto:' + email + '","' + email + '")');
}
}
我使用数字 1048576 作为 for 的限制,因为这是您可以拥有的最大行数,尽管当它使用空白单元格时它会中断。
如果您想要仅将您选择的单元格转换为超链接,然后更改所选单元格,则应使用 getActiveCell 函数 [1] 仅设置该值,然后使用 activate() 函数 [2] 更改选择到下一个单元格。
[1] https://developers.google.com/apps-script/reference/spreadsheet/sheet#getactivecell
[2] https://developers.google.com/apps-script/reference/spreadsheet/range#activate()
推荐阅读
- android - NotificationCompat.Builder setContentText() 在深色模式下不显示 CSS 颜色
- javascript - Ajax 和 Vue cli
- forms - 当我在文本区域(如 < > & /)中写一个特殊字符时,它会忽略其余代码
- python-3.x - 由于 zlib,无法在 python 上运行 Pillow
- html - 浏览器缩放级别断开底部和左/右页面边框
- jmeter - JMeter:未使用 CMDRunner 或 JMeterPluginsCMD 生成的汇总报告
- go - 如何为和
- es6-modules - 使用 ES6 模块关闭编译器依赖项
- c - 如何识别 mjpeg 流
- python - 优化列表的搜索