从网站导入数据:将Java脚本代码转换为VBA代码

时间:2015-07-10 04:37:05

标签: javascript excel vba excel-vba dom

我需要从this website导入一些数据,为此我编写了一个小的java脚本代码,如下所述。

提取分子量的代码

x = document.getElementById('summary')
y = x.getElementsByTagName('h2')
count = x.getElementsByTagName('h2').length
flag=0
for (i = 0; i < count; i++){
  if(y.item(i).textContent == 'Molecular Weight'){
    console.log(y.item(i).nextSibling.textContent);
   flag=1;
  }
}
if(flag==0)
console.log("Nothing Found");

从物理属性表中提取数据的代码

x=document.getElementById('physical')
y=x.getElementsByClassName('TableRow')
count =x.getElementsByClassName('TableRow').length
for(i=0;i<count;i++){
   z=x.getElementsByClassName('TableRow').item(i)
   z.children[0].textContent
   z.children[1].textContent
}

那么可以通过java脚本导入excel吗?

我认为VBA会更好用于此目的,但我是VBA的新手,并且无法确定在VBA中编写代码的适当方法。 请给我提示,以便我可以朝着正确的方向前进。

1 个答案:

答案 0 :(得分:0)

您可能希望尝试以下操作,而不是通过javascript导入。在excel中,您可以转到File -> Open Url将网站导入电子表格。假设无论您正在查看哪个分子,站点的结构都是相同的,您可以创建VBA脚本,仅通过查看单元格地址来提取数据。您可以使用Tools -> Macro -> Record New Macro记录您的操作。完成后,您可以转到Tools -> Visual Basic Editor查看VBA代码。然后,您可以从那里改进代码,以进一步自动化该过程。

以下是一个例子:

Workbooks.Open Filename:="http://chem.sis.nlm.nih.gov/chemidplus/rn/112-92-5"
Range("A44").Select
Selection.Copy
Sheets.Add
Sheets("Sheet2").Select
Range("B4").Select
ActiveSheet.Paste
相关问题