通过VBA将表复制到Excel

时间:2016-04-12 10:36:19

标签: excel vba excel-vba

基本上我使用了一些我在这里得到的示例代码: http://dailydoseofexcel.com/archives/2011/03/08/get-data-from-website-that-requires-a-login/

但它已经很老了,而我试图从中获取该表的网站有以下内容:

<table class="list">

我希望在

中复制整个表格,而不是在示例网站上设置表格的方式
<table class="list">

有没有办法修改该代码,因为我仍然需要登录,一旦登录表是可见的。

感谢任何帮助,希望这很简单。

1 个答案:

答案 0 :(得分:1)

网站示例按以下方式查找表:

Set ieTable = ieDoc.all.Item("sampletable")

本质上它是操纵HTML页面的DOM(文档对象模型)。你需要修改它才能获得你的表格。

如果您的网页上只有一个表格,那么以下内容可能会有效:

    Set ieTable = ieDoc.all.getElementsByTagName("TABLE")

或:

    Set ieTable = ieDoc.body.all.getElementsByTagName("TABLE")

getElementsByTagName()是通过其标记名称从网页获取元素的DOM方法。标签名称为“TABLE”。由于此方法返回一个集合,因此可能仍需要从集合中获取一个元素,您可以通过以下方式执行此操作:

    Set ieTable = ieDoc.all.getElementsByTagName("TABLE")[0]

获取第一个元素。

有关详细信息,请参阅DOM文档(只需谷歌“DOM文档”)。