将在线数据导入Excel电子表格

时间:2014-06-02 15:05:45

标签: excel vba excel-vba import

我的任务是简化从特定在线网站收集数据的流程,并将其导入Excel 2010电子表格。网站是' Web of Science',http://apps.webofknowledge.com/UA_GeneralSearch_input.do?product=UA&SID=T2b1MtfKgCqeB2h9j9J&search_mode=GeneralSearch,这是一个详细介绍学术出版物和期刊的网站。

目前,他们将访问该网站,输入少量搜索参数,然后手动记录网页中的相关数据。他们希望能够在Excel中输入一个关键字(作为搜索项目),然后自动完成剩余的流程,并为他们提供所需数据的电子表格。

然而,他们所需的数据以输入的出版物名称的潜在作者列表的形式出现,该列表目前出现在网站上,作为“优化结果”下的一系列复选框:{{{ 3}}

所以基本上我需要用户能够在Excel中输入他们将进入网站搜索字段的搜索项目,然后将与该主题相关的作者列表导入电子表格。

这可能吗?也许在Excel中使用VBA代码?

人们会推荐什么?我真的只是一个新手Excel用户,但确实有编程经验。

非常感谢你的帮助,

约翰

*仅供参考,更新,这是我到目前为止所获得的,直到用户输入一个单词,然后由网站搜索工具搜索。现在需要让作者将它们导入电子表格:

Sub WoS()

    Dim IE As Object
    Dim Doc As Object
    Set IE = CreateObject("internetexplorer.application")
    IE.Visible = True

navigate:

    ' navigate to the relevant website
    IE.navigate "http://apps.webofknowledge.com/UA_GeneralSearch_input.do?   product=UA&search_mode=GeneralSearch&SID=T23ZytENYQRHyJkmixB&preferencesSaved="

    ' wait until page has finished loading
    Do While IE.readystate <> 4: DoEvents: Loop

    Set Doc = CreateObject("htmlfile")
    Set Doc = IE.document

    If Doc Is Nothing Then GoTo navigate

    ' allow user to input keywords for search
    Set myInput = Doc.getelementbyid("value(input1)")
    myInput.Value = InputBox("Please enter the subject for Publication Name: ")

    ' click button to process search
    Set btnSubmit = Doc.getelementbyid("UA_GeneralSearch_input_form_sb")
    btnSubmit.Click

End Sub

1 个答案:

答案 0 :(得分:0)

也许您应该尝试使用Power Query?使用Power Query,您可以直接从Web下载数据(并进行转换和清理),然后在工作簿中使用。所有数据都保存为&#34;过程&#34;所以你可以简单地刷新网页上的内容。另一种选择当然是代码即VBA。当我能够检查你的地址时,我会告诉你是否有可能从这些网站获取数据。