我尝试使用单元格值的范围从我的Google联系人列表中获取电子邮件。我已经成功地使用一个值完成了这一操作,但使用值的范围/列表却不行。
在我的示例中,单元格G2包含姓名John Doe,我已经设法从G2中获取该值,搜索联系人并返回相应的电子邮件。下一步是使用该返回值并将其写入同一工作表中的另一个单元格,我也实现了这一点(将电子邮件地址写入N2)。
我不知道如何对一系列单元格进行此操作,我尝试了许多不同的方法,但总是出错。
下面的代码只适用于第一个单元格的值,我试过将范围更改为(2,7,10,1)来获取前10个单元格的值,看起来这部分工作得很好,但我不确定什么是正确的方法,然后通过这个数组来获取电子邮件地址,最后运行一个循环来将地址写入一个单元格范围。
总而言之,我试图从G2:G12中获取一系列名称,将这些名称转换为电子邮件地址,并将结果写入N2:N12。
我下面的例子可以通过将代码复制到一个新的工作表文档中,将工作表命名为“Main”,为G2单元格添加一个名称并运行代码来复制。
function getEmail() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet = ss.getSheetByName('Main');
var EmailRange = sheet.getRange(2, 7, 1, 1)
var EmailAddress = EmailRange.getValues()
var contacts = ContactsApp.getContactsByName(EmailAddress);
var email = contacts[0].getEmails()[0].getAddress();
Logger.log(email);
return email
}
function writeEmailsToSheet() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet = ss.getSheetByName('Main');
var results = getEmail();
var range = sheet.getRange(2, 14, 1, 1);
range.setValue(results);
}
1条答案
按热度按时间sdnqo3pr1#
您可以尝试以下脚本来了解一下:
更新
这是更新后的脚本,你可以使用
continue
语句。如果条件发生,这将中断循环中的迭代,并继续下一个。