从网页中提取数据 - 使用 VBA

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/13932393/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-11 18:52:32  来源:igfitidea点击:

Extract Data from a Web Page - using VBA

vbaexcel-vbadata-extractionexcel

提问by Tejas

Using VBA, I need to extract data from webpage http://emops.tse.com.tw/t21/sii/t21sc03_2011_9_e.htm

使用 VBA,我需要从网页http://emops.tse.com.tw/t21/sii/t21sc03_2011_9_e.htm 中提取数据

I am able to fetch all the data using following code:

我能够使用以下代码获取所有数据:

With ActiveSheet.QueryTables.Add(Connection:="URL;http://emops.tse.com.tw/t21/sii/t21sc03_2012_2_e.htm", Destination:=Range("$A"))
        .Name = "67083361_zpid"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
End With

But the problem is I don't want data from whole page. I want data from the table where Industry name is Electron (It is the last table in this case)

但问题是我不想要整个页面的数据。我想要行业名称为 Electron 的表中的数据(在这种情况下是最后一个表)

Any trick for the same please?

请问有什么相同的技巧吗?

回答by Michael B

Change:

改变:

.WebSelectionType = xlEntirePage to .WebSelectionType = xlSpecifiedTables

Add:

添加:

.WebTables = "2" below .WebFormatting = xlWebFormattingNone

'You will have to use trial and error with the "2" to find the exact table you are wanting to grab

'您将不得不对“2”使用反复试验来找到您想要抓取的确切表格