添加参数以从动态 URL 连接和抓取数据

萨米

如果我尝试通过将 URL 的字符串与我的变量拼接来添加参数,它不会连接到 URL。为了简化代码中的问题,我对变量值进行了硬编码,但通常我会从命名范围中提取它。

我尝试了电源查询高级“从 Web 获取数据”功能,但似乎无法添加参数

Sub OpenWebStockDataTest()
'
' OpenWebStockDataTest Macro
'

'
    Dim sticker As String
    Dim exchange As String

    sticker = "TGIF"
    exchange = "CN"

    ActiveWorkbook.Queries.Add Name:="Table 2", Formula:= _
        "let" & Chr(13) & "" & Chr(10) & "    Source = Web.Page(Web.Contents(""https://finance.yahoo.com/quote/" & sticker & "." & exchange & "/history?p=" & sticker & "." & exchange & """))," & Chr(13) & "" & Chr(10) & "    Data2 = Source{2}[Data]," & Chr(13) & "" & Chr(10) & "    #""Changed Type"" = Table.TransformColumnTypes(Data2,{{""Date"", type date}, {""Open"", type number}, {""High"", type number}, {""Low"", type number}, {""Close*"", type number}, {""Adj Close**"", type number}, {""Volume"", Int64" & _
        ".Type}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "    #""Changed Type"""
    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
        "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""Table 2"";Extended Properties=""""" _
        , Destination:=Range("$A$1")).QueryTable
        .CommandType = xlCmdSql
        .CommandText = Array("SELECT * FROM [Table 2]")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .ListObject.DisplayName = "Table_2"
        .Refresh BackgroundQuery:=False
    End With
End Sub

上面的代码应该连接到:https : //finance.yahoo.com/quote/TGIF.CN/history?p=TGIF.CN

请有人帮忙!!!

内森·萨瑟兰

你迷失在你的报价中。

"    Source = Web.Page(Web.Contents(""https://finance.yahoo.com/quote/"" & sticker & ""."" & exchange &""/history?p="" &sticker &"".""&exchange)),"

应该

"    Source = Web.Page(Web.Contents(""https://finance.yahoo.com/quote/" & sticker & "." & exchange & "/history?p=" & sticker & "." & exchange & """)),"

编辑:

Sub OpenWebStockDataTest()
'
' OpenWebStockDataTest Macro
'

'
    Dim sticker As String
    Dim exchange As String

    sticker = "TGIF"
    exchange = "CN"

    ActiveWorkbook.Queries.Add Name:="Table 2", Formula:= _
        "let" & Chr(13) & "" & Chr(10) & "    Source = Web.Page(Web.Contents(""https://finance.yahoo.com/quote/" & sticker & "." & exchange & "/history?p=" & sticker & "." & exchange & """))," & Chr(13) & "" & Chr(10) & "    Data2 = Source{2}[Data]," & Chr(13) & "" & Chr(10) & "    #""Changed Type"" = Table.TransformColumnTypes(Data2,{{""Date"", type date}, {""Open"", type number}, {""High"", type number}, {""Low"", type number}, {""Close*"", type number}, {""Adj Close**"", type number}, {""Volume"", Int64" & _
        ".Type}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "    #""Changed Type"""
    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
        "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""Table 2"";Extended Properties=""""" _
        , Destination:=Range("$A$1")).QueryTable
        .CommandType = xlCmdSql
        .CommandText = Array("SELECT * FROM [Table 2]")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .ListObject.DisplayName = "Table_2"
        .Refresh BackgroundQuery:=False
    End With
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R 数据抓取/抓取动态/多个 URL

来自分类Dev

从抓取URL参数插入数据-PHP PDO

来自分类Dev

从抓取URL参数插入数据-PHP PDO

来自分类Dev

将数据从动态 URL 复制到 SQL DW

来自分类Dev

通过 selenium 和 phantomjs 从动态 url 下载文件

来自分类Dev

从动态表中抓取数据

来自分类Dev

php动态参数以htaccess进行url访问

来自分类Dev

php动态参数以htaccess进行url访问

来自分类Dev

抓取传递的URL参数并添加到iframe URL

来自分类Dev

通过路径和参数以编程方式生成url

来自分类Dev

添加URL参数以在Flask中形成动作

来自分类Dev

如何从动态添加的TextBox读取数据到FlowLayoutPanel?

来自分类Dev

可以使用BizTalk从动态URL中获取数据吗?

来自分类Dev

抓取URL参数以使用jQuery或javascript修改选择表单

来自分类Dev

动态URL和URL重写

来自分类Dev

在php中抓取url参数

来自分类Dev

在php中抓取url参数

来自分类Dev

Rails,从动态URL进行爬取

来自分类Dev

从动态创建的URL确定图像名称

来自分类Dev

从动态PHP URL保存图像

来自分类Dev

通过URL的CodeIgniter动态数据库连接

来自分类Dev

从变量中添加参数以提取json数据

来自分类Dev

将源链接URL添加到R中的Web抓取数据

来自分类Dev

从URL传递日期参数以过滤数据库中的条目列表

来自分类Dev

在URL中传递两个不同的参数以过滤数据

来自分类Dev

连接查询参数并将其添加到url

来自分类Dev

如何抓取页面的动态URL?

来自分类Dev

清理URL和参数

来自分类Dev

清理URL和参数