使用VBA单击链接

使用VBA单击链接,vba,Vba,我希望在这里能得到一些帮助。我正在尝试自动下载一个文件从一个网站,这需要我点击每次搜索的链接 以下是链接html信息: (a class="icon-xls-export" href="/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax?fileType=csv&fileName=IYK_holdings&dataType=fund" onclick="s_objectID=&a

我希望在这里能得到一些帮助。我正在尝试自动下载一个文件从一个网站,这需要我点击每次搜索的链接

以下是链接html信息:

(a class="icon-xls-export" href="/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax?fileType=csv&fileName=IYK_holdings&dataType=fund" onclick="s_objectID="https://www.ishares.com/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax?fileT_1";return this.s_oc?this.s_oc(e):true">
Detailed Holdings and Analytics </a)
我可以毫无问题地打开站点,但我一直收到一条错误消息,因为对象不支持此属性或方法

所以这里的任何帮助都会很棒


提前谢谢

请正确设置问题格式、代码块等:)

不管怎样……也许是这样的:

Set tags = wb.Document.GetElementsByTagname("Input")

For Each tagx In tags
    If tagx.alt = "File_Certificate_Go" Then
        tagx.Click
    End If
Next

其中wb是WebBrowser控件。

请正确设置问题格式、代码块等:)

不管怎样……也许是这样的:

Set tags = wb.Document.GetElementsByTagname("Input")

For Each tagx In tags
    If tagx.alt = "File_Certificate_Go" Then
        tagx.Click
    End If
Next
其中wb是WebBrowser控件。

我想您需要这个

Public Sub OpenWebXLS()
' *************************************************
' Define Workbook and Worksheet Variables
' *************************************************
Dim wkbMyWorkbook As Workbook
Dim wkbWebWorkbook As Workbook
Dim wksWebWorkSheet As Worksheet

Set wkbMyWorkbook = ActiveWorkbook

' *************************************************
' Open The Web Workbook
' *************************************************
Workbooks.Open ("https://www.ishares.com/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax?fileType=csv&fileName=IYK_holdings&dataType=fund")

' *************************************************
' Set the Web Workbook and Worksheet Variables
' *************************************************
Set wkbWebWorkbook = ActiveWorkbook
Set wksWebWorkSheet = ActiveSheet

' *************************************************
' Copy The Web Worksheet To My Workbook and Rename
' *************************************************
wksWebWorkSheet.Copy After:=wkbMyWorkbook.Sheets(Sheets.Count)
wkbMyWorkbook.Sheets(ActiveSheet.Name).Name = "MyNewWebSheet"

' *************************************************
' Close the Web Workbook
' *************************************************
wkbMyWorkbook.Activate
wkbWebWorkbook.Close

End Sub
我想你想要这个

Public Sub OpenWebXLS()
' *************************************************
' Define Workbook and Worksheet Variables
' *************************************************
Dim wkbMyWorkbook As Workbook
Dim wkbWebWorkbook As Workbook
Dim wksWebWorkSheet As Worksheet

Set wkbMyWorkbook = ActiveWorkbook

' *************************************************
' Open The Web Workbook
' *************************************************
Workbooks.Open ("https://www.ishares.com/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax?fileType=csv&fileName=IYK_holdings&dataType=fund")

' *************************************************
' Set the Web Workbook and Worksheet Variables
' *************************************************
Set wkbWebWorkbook = ActiveWorkbook
Set wksWebWorkSheet = ActiveSheet

' *************************************************
' Copy The Web Worksheet To My Workbook and Rename
' *************************************************
wksWebWorkSheet.Copy After:=wkbMyWorkbook.Sheets(Sheets.Count)
wkbMyWorkbook.Sheets(ActiveSheet.Name).Name = "MyNewWebSheet"

' *************************************************
' Close the Web Workbook
' *************************************************
wkbMyWorkbook.Activate
wkbWebWorkbook.Close

End Sub

CSS选择器:

(a class="icon-xls-export" href="/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax?fileType=csv&amp;fileName=IYK_holdings&amp;dataType=fund" onclick="s_objectID=&quot;https://www.ishares.com/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax?fileT_1&quot;;return this.s_oc?this.s_oc(e):true">
Detailed Holdings and Analytics </a)
您可以使用

a[onclick*=https://www.ishares.com/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax]
带有
a
标记且属性为
onclick
且值包含
https://www.ishares.com/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax


CSS查询:

(a class="icon-xls-export" href="/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax?fileType=csv&amp;fileName=IYK_holdings&amp;dataType=fund" onclick="s_objectID=&quot;https://www.ishares.com/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax?fileT_1&quot;;return this.s_oc?this.s_oc(e):true">
Detailed Holdings and Analytics </a)


VBA:

(a class="icon-xls-export" href="/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax?fileType=csv&amp;fileName=IYK_holdings&amp;dataType=fund" onclick="s_objectID=&quot;https://www.ishares.com/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax?fileT_1&quot;;return this.s_oc?this.s_oc(e):true">
Detailed Holdings and Analytics </a)
使用
文档的
方法应用

ie.document.querySelector("a[onclick*=https://www.ishares.com/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax]").Click

CSS选择器:

(a class="icon-xls-export" href="/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax?fileType=csv&amp;fileName=IYK_holdings&amp;dataType=fund" onclick="s_objectID=&quot;https://www.ishares.com/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax?fileT_1&quot;;return this.s_oc?this.s_oc(e):true">
Detailed Holdings and Analytics </a)
您可以使用

a[onclick*=https://www.ishares.com/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax]
带有
a
标记且属性为
onclick
且值包含
https://www.ishares.com/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax


CSS查询:

(a class="icon-xls-export" href="/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax?fileType=csv&amp;fileName=IYK_holdings&amp;dataType=fund" onclick="s_objectID=&quot;https://www.ishares.com/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax?fileT_1&quot;;return this.s_oc?this.s_oc(e):true">
Detailed Holdings and Analytics </a)


VBA:

(a class="icon-xls-export" href="/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax?fileType=csv&amp;fileName=IYK_holdings&amp;dataType=fund" onclick="s_objectID=&quot;https://www.ishares.com/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax?fileT_1&quot;;return this.s_oc?this.s_oc(e):true">
Detailed Holdings and Analytics </a)
使用
文档的
方法应用

ie.document.querySelector("a[onclick*=https://www.ishares.com/us/products/239505/ishares-us-consumer-goods-etf/1395165510754.ajax]").Click

不是你的代码停止跟踪我:P这只是有用的信息,链接出问题只会引起麻烦。我努力获取这些信息是因为我想提供帮助,我不在乎任何虚假的互联网积分:)如果我最初的问题不清楚,我会申请。我在get元素by class行上收到一个代码错误,错误消息是“object不支持此属性或方法”。我无法使用tags.alt,因为alt不存在。对于每个页面,唯一标识符似乎是类名。那么,我如何基于类使用onclick呢?不是你的代码停止跟踪我:P它只是有用的信息,而链接出问题只会引起麻烦。我努力获取这些信息是因为我想提供帮助,我不在乎任何虚假的互联网积分:)如果我最初的问题不清楚,我会申请。我在get元素by class行上收到一个代码错误,错误消息是“object不支持此属性或方法”。我无法使用tags.alt,因为alt不存在。对于每个页面,唯一标识符似乎是类名。那么如何基于类使用onclick呢?