2013-04-18 78 views
-1

我是VBA的新手,我需要将this form的值提取到Excel电子表格中。一旦用户点击估算值,就会显示汇率。 Excel电子表格将具有与表格中的字段名称匹配的列标题。使用VBA将数据从Web窗体读取到Excel?

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

enter image description here

+0

@Santosh:当我手动选择该字段中的值(美国,美元,印度,10分钟服务 - 印度服务,1000),并点击估计,我没有得到任何结果...网站保持在显示“连接....” –

+1

@SiddharthRout即使我试过,也没有得到任何结果。可能该网站将在周末进行升级。但我确认该网站的作品,您可以在某个时间之后或直接在星期一尝试。 – Santosh

+0

@Santosh:该网站不开放。已经尝试了两天...我放弃:) –

回答

0

桑托斯......这样做有

  • 拦截Web服务XML
  • 两种方式创建连接到底层数据库。

你需要知道DB细节或者在VBA中为XML创建COM模块(这又需要服务器细节)

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

+0

谢谢你的回复。你可以写代码吗? – Santosh

+0

Santosh ..我可以编写代码,但我需要服务器的细节,就像我说的。在开放的论坛上提供服务器详细信息不可取。 我也可以建议寻找一些私人网站,编写少量的代码。这些比开放论坛更好。除此之外,如果主持人有时间并且喜欢你的提议,可以给予主持人一个好的提议,只是可能会让你接受。 –

+0

我拥有的所有信息都是要从中拉取数据的网址。 – Santosh

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 

末次

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

您可以使用上述人员从目标网站上加载页面的页面源获取值。所以你必须设置你想要的值,按下“估计”按钮,“查看页面源代码”并查找你想要从VBA代码中提取的值的容器节点(当然也可以添加到你的Excel VBA中)。
让您的网站停下来 - 无法访问的结果页 - 这就是我所能做的,但通过上面的代码,您可以确定您必须在Excel VBA中完成的其他工作。
如果没有,请在网站重新启动时发布新问题或询问。

希望这有助于!

相关问题