我需要从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中编写代码的适当方法。 请给我提示,以便我可以朝着正确的方向前进。
答案 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