我的列A包含一些互联网网站的网页。在B列中,我使用以下功能:
“= CONCATENATE(ImportData(来自A栏的网址)”。
...要在此列中将数据页提取为文本,但Google文档在文档中的50个函数中对此函数有限制。
换句话说,如何在A列中每次更改URL地址,以文本形式在B列中提取的网页数据,就像我使用ImportData?
感谢。
答案 0 :(得分:1)
您可以使用针对A列中每个网址使用UrlFetch的onOpen触发器,并在B列中设置文本。这会在每次打开时更新电子表格。
这可能会奏效(我之前从未使用过UrlFetch):
function onOpen(e){
var sheet = SpreadsheetApp.getActiveSheet();
//Load all the URLs
var urls = sheet.getRange("A:A").getValues();
//Initialize array for content
var text = [];
//Loop through URLs
for(var i = 0; i < urls.length; i += 1){
if(urls[i][0] === "") continue;//Skip blank cells
//Fetch the webpage, push the content to the array (inside an array since it needs to be 2d)
text.push(
[UrlFetchApp.fetch(urls[i][0]).getContentText()]
);
}
//Store text in spreadsheet in range the size of the text array
sheet.getRange("B1:B" + text.length).setValues(text);
}
如果您想在网址更改时加载新内容,请使用onEdit触发器
function onEdit(e){
//Get the active cell
//Then get its url
//Fetch the web page and store it in the cell next to edited url
}