小编cir*_*cld的帖子

按下刷新或刷新全部按钮后如何调用宏?

最后,我希望在任何人刷新工作簿后运行一个宏,特别是使用Excel中"数据"选项卡下的"刷新"按钮.但是,暂时,只要按下Refresh按钮就可以触发BeforeRefresh或AfterRefresh QueryTable事件.

除了Microsoft开发中心网站上提供的"文档"之外,我在本研究过程中阅读的相关帖子包括:

我显然遗漏了一些重要的东西(很可能很明显).这是我到目前为止:

在类模块下(qtclass)

Option Explicit

Private WithEvents qt As Excel.QueryTable

Private Sub qt_AfterRefresh(ByVal Success As Boolean)

    MsgBox "qt_AfterRefresh called sucessfully."
    If Success = True Then
        Call Module2.SlicePivTbl
        MsgBox "If called succesfully."
    End If

End Sub

Private Sub qt_BeforeRefresh(Cancel As Boolean)
    MsgBox "qt_BeforeRefresh called."
End Sub
Run Code Online (Sandbox Code Playgroud)

在ThisWorkbook模块下

Private Sub Workbook_Open()

    Dim qtevent As qtclass
    Dim qt As QueryTable
    Set qt = ThisWorkbook.Worksheets("Data-Fund").ListObjects(1).QueryTable
    Set qtevent = New qtclass

End Sub …
Run Code Online (Sandbox Code Playgroud)

excel vba

13
推荐指数
1
解决办法
2万
查看次数

httr:用POST()检索数据

免责声明:虽然我已经设法使用httr的POST函数从其他来源获取数据,但让我们知道我对httr和HTML表格一般都是完整的n00b.

我想使用httr从网站直接将一些数据带入R. 我的第一次尝试涉及将命名列表传递给body arg(如此插图中所示).但是,我注意到表单输入名称中的方括号(至少我认为它们是表单输入参数).所以相反,我尝试将字体作为字符串传递,因为我认为它应该出现在请求正文中:

url <- 'http://research.stlouisfed.org/fred2/series/TOTALSA/downloaddata'
query <- paste('form[native_frequency]=Monthly', 'form[units]=lin',
                'form[frequency]=Monthly', 'form[obs_start_date]="1976-01-01"',
                'form[obs_end_date]="2014-11-01"', 'form[file_format]=txt'
                sep = '&')
response <- POST(url, body = query)
Run Code Online (Sandbox Code Playgroud)

在任何情况下,上面的代码只返回网页源代码,我无法弄清楚如何正确提交表单,以便它返回与手动单击表单的"下载数据"按钮相同的数据.

在Chrome上的开发人员工具/网络中,它在Content-Disposition下的响应标题中指出,当我手动单击表单上的"下载数据"按钮时,会有一个包含数据的文本文件附件.它似乎不在上面代码中与响应对象关联的任何标头中.为什么POST请求不返回此文件 - 数据的文件在哪里?

感觉就像我错过了一些明显的东西.有人在乎帮助我连接点吗?

html forms r http-post httr

8
推荐指数
1
解决办法
5523
查看次数

标签 统计

excel ×1

forms ×1

html ×1

http-post ×1

httr ×1

r ×1

vba ×1