-2

我是 VBA 新手,我需要将此表单中的值提取到 Excel 电子表格中。一旦用户点击估计,就会显示汇率。Excel 电子表格将具有与表单中的字段名称匹配的列标题。

在表格中,“发送金额”将为 50、100、500、1000、2500 和 7000。“发件人”国家始终为“美国”。工作表应填写表格其他字段中针对“美国”及其相应汇率的所有可能选项。

在此处输入图像描述

4

2 回答 2

0

桑托什......有两种方法可以做到这一点

  • 拦截 Web 服务 XML
  • 创建与底层数据库的连接

您需要了解 DB 详细信息或在 VBA for XML 中创建 COM 模块(这同样需要服务器详细信息)

如果你什么都不知道。我建议去 youtube 并寻找“VBA com 连接”或“VBA XML”。有一些不错的视频,在开放论坛上交出服务器详细信息并不是一件理想的事情

于 2013-04-24T10:34:51.850 回答
0

这里没有运气,网站永远写着“正在连接......”。
但是为了解决您的问题,这里有一个示例代码:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim myIE As InternetExplorer, myDoc As HTMLDocument, mySubDoc As HTMLDivElement
Dim sVal As String, lVal As Long

Set myIE = New InternetExplorer
With myIE
    .Visible = True
    Call .navigate("http://stackoverflow.com/")
    While Not .readyState = READYSTATE_COMPLETE
        DoEvents
    Wend
    Set myDoc = .document
End With
'SAMPLE
With mySubDoc
    Set mySubDoc = myDoc.getElementsByClassName("question-summary narrow").Item(0)
    sVal = CStr(mySubDoc.ID)
    lVal = CLng(mySubDoc.NodeType)
    Call MsgBox(sVal)
    Call MsgBox(CStr(lVal))
End With
On Error Resume Next
    Call mySubDoc.Close
    Call myDoc.Close
    Call myIE.stop
    Call myIE.Quit
On Error GoTo 0
Set mySubDoc = Nothing
Set myDoc = Nothing
Set myIE = Nothing

End Sub

请注意:在 Excel 的 VBA (ALT+F11) 中,您必须将参考(工具->参考)添加到Microsoft HTML Object LibraryMicrosoft Internet Controls项目。

您可以使用上面的人从目标站点上已加载页面的页面源中获取值。所以你必须设置你想要的值,按“估计”按钮,“查看页面源”并查找要从 VBA 代码中提取的值的容器节点(当然也可以添加到 Excel VBA 中)。
随着您的网站关闭 - 即无法访问的结果页面 - 这就是我所能做的,但使用上面的代码,您可以确定在 Excel VBA 中必须做的其他事情。
如果没有,请在网站再次启动时发布新问题或在此处提问。

希望这可以帮助!

于 2013-04-26T12:24:40.877 回答