0

我需要一个程序很可能是宏来访问当前打开的网页,然后获取特定数据,然后将其粘贴到 Excel 文件中。

我无法在 excel 上使用网络查询,因为我需要访问的网站受密码保护。

我每天大约将数据从 100 个网页复制粘贴到 2000 个网页。

我需要从网页获取的示例数据显示如下:

@Serial Code: 123345 ; @Database: DB001 ; @Title: Sample Tile

在excel中应该是:|12345| DB001 | 示例标题

所以我需要的是 1. 转到网页 2. 运行宏以获取数据 3. 转到下一个网页

我希望你能帮帮我

4

3 回答 3

1

示例如何从 vba 读取 html:Option Explicit

' Add References:
' - Microsoft HTML Object Library
' - Microsoft Internet Controls

Private Const URL As String = "C:\temp\Test.html"
Sub Test()

  Dim browser As InternetExplorer
  Set browser = New InternetExplorer

  With browser
    browser.Visible = True
    browser.Navigate URL
    Do: Loop Until browser.Busy = False
  End With

  Dim htmlDocument As htmlDocument
  Set htmlDocument = browser.Document

  ' input
  Dim inputElement As HTMLInputElement
  Set inputElement = htmlDocument.getElementById("input1")

  If (inputElement Is Nothing) Then
    Err.Raise 123456789, , "inputElement is nothing. ID not found."
  End If

  [a1] = inputElement.Value

  browser.Quit
  Set browser = Nothing
End Sub
于 2012-10-11T14:55:27.627 回答
1

对于大多数功能强大的套件,您可以使用带有 Web 客户端的脚本语言,例如perlpython. 我已经用 perl 做到了。

对于密码问题,首先提交您的登录信息并保存cookie,使用 cookie 访问受密码保护的内容。

将页面内容保存为文本文件,对其进行解析以提取字段。

于 2012-10-11T06:11:59.600 回答
0

我不知道是否有任何现成的宏可以完成这项工作,但您可以通过创建自定义应用程序来做到这一点。

  1. 一一获取网页视图源
  2. 解析页面视图源并检索@Serial Code、@Database、@Title 的值——使用字符串操作
  3. 使用一些插件将所有数据转储到 excel 中。
于 2012-10-11T06:08:12.660 回答