雅虎财务Excel VBAmacros
遵循以下网站的思路, http://www.philadelphia-reflections.com/blog/2392.htm ,我想返回一些其他信息在Excel中使用。 例如,我想从Yahoo Finance的以下部分返回一些信息, http://finance.yahoo.com/q/cf?s=MSFT 。 这个想法是,我想input一个股票代码,并返回元素,例如在Excel中的一些单元格中列出的四个季度每个股票的股息支付和销售购买股票。 我不知道如何改变查询来返回我感兴趣的信息。例子或样本是最受欢迎的。
这将是MS Excel版本2007和更新。 另外,如果它可以在Macintosh Office 2011上工作,这将是一个巨大的优势。 请注意,本文中引用的文章目前不适用于Office 2011,因为它不能支持所需的MS XML 6引用。
尝试下面的代码:
Sub sample() Dim IE As Object Dim Web_Address As String Dim tblTR As Object Dim tblTD As Object Dim tempTD As Object Set IE = CreateObject("internetexplorer.application") Web_Address = "http://finance.yahoo.com/q/cf?s=MSFT" ' Access the Webpage IE.Navigate Web_Address IE.Visible = True Start: ' Wait while IE loading... Do While IE.Busy Application.Wait DateAdd("s", 5, Now) Loop Set tbl = IE.document.getelementbyid("yfncsumtab").getelementsbytagname("table")(3) Set tblTR = tbl.getelementsbytagname("tr") If tblTR Is Nothing Then GoTo Start Dim i As Integer i = 1 For Each tempTD In tblTR On Error Resume Next Set tblTD = tempTD.getelementsbytagname("td") If Not tblTD Is Nothing Then With Worksheets(1) .Cells(i, 1) = tblTD(0).innerText .Cells(i, 2) = tblTD(1).innerText .Cells(i, 3) = tblTD(2).innerText .Cells(i, 4) = tblTD(3).innerText .Cells(i, 5) = tblTD(4).innerText End With End If i = i + 1 Next End Sub