0

我想使用 VBA从https://s.cafef.vn/screener.aspx#data的 URL 中检索一个表。这项任务很困难,因为该表包含嵌入在 html 文件中的 JSON 数据,但它是如此的亲切,一位 GAS 专家帮助我为 Google Apps Scripts 创建了一个自定义函数。(IMPORTHTML() 在此网页结构中不起作用)函数如下所示:

function SAMPLE(url) {
   const res = UrlFetchApp.fetch(url, {muteHttpExceptions: true});
   const html = res.getContentText().match(/var jsonData \=([\S\s\w]+\}\])/);
   
   if (!html) return "No tables. Please confirm URL again.";
       
       const table = JSON.parse(html[1].replace(/\n/g, ""));
       
       const header = ["", "FullName", "Symbol", "CenterName", "ChangePrice", "VonHoa", "ChangeVolume", "EPS", "PE", "Beta", "Price"];
       
       return table.reduce((ar, e, i) => {

       const temp = header.map(f => f == "" ? i + 1 : e[f]);
       ar.push(temp);
       return ar;
   }, [header]);  }

此功能在 Google Sheets 环境中完美运行,但我现在的目标是将其转换为 VBA,或者换句话说,编写一个可以在https://s.cafef.vn/screener.aspx#data获取表格的 VBA 模块.

非常感谢您的任何帮助或建议

曹多雷米

4

0 回答 0