使用Google工作表脚本从一系列IP号码中获取国家/地区名称,然后将结果粘贴到另一列中

时间:2017-07-30 22:15:41

标签: google-apps-script scripting ip

在我的Google电子表格中,在第H列中,我有一个IP号列表。我需要一个脚本来获取这些数字并获取国家名称。我需要这个是脚本,因为电子表格是从网络表单填充的。我所拥有的是一个完美的公式但我必须在每个表单提交时手动复制公式。由于我每天都会收到很多提交内容,因此手动执行此操作非常繁琐。我需要脚本在电子表格更新上运行。我的公式是:

=query( importhtml("http://whatismyipaddress.com/ip/" & H1526, "table", 2), "select Col2 where Col1 = 'Country:' ", 0 ) 

最后填充的行是H1526。我尝试了“ARRAYFORMULA”,但没有数组公式似乎适用于我的查询功能。我拥有IP的列是H,我需要第I列中的国家名称。

1 个答案:

答案 0 :(得分:0)

您可以在提交Google表单时编写脚本。您还需要设置相同的触发器。希望这会有所帮助。

enter image description here

function OnSubmit(e){
  var sheetDatabase = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  sheetDatabase.getRange(sheetDatabase.getLastRow(), 8).setFormula('=query(importhtml("http://whatismyipaddress.com/ip/"&I'+sheetDatabase.getLastRow()+', "table", 2), "select Col2 where Col1 = \'Country:\' ", 0 )');
}