【问题标题】:Excel VBA: Set new external data connection and refresh without querying userExcel VBA:设置新的外部数据连接并刷新而不查询用户
【发布时间】:2015-06-19 03:53:41
【问题描述】:

我目前有一个与 .txt 文件有外部数据连接的 Excel 工作簿。这是 QueryTable 的形式。

我要做的是创建一个对话框来询问用户的 .txt 文件文件夹。然后我会遍历这些文件,用每个新文件刷新查询表。在初始文件夹对话框之后,我不希望用户看到任何其他对话框。

我当前的代码是:

myQuery = ThisWorkbook.Sheets(1).QueryTables(1)
Filenames = Application.GetOpenFilename(MultiSelect:=True, Title:="Select files")

For Each Filename In Filenames
    myQuery.Connection = "TEXT;" & Filename
    myQuery.Refresh 'This displays a dialog box to choose a new file each time.
    ' Some other code that would execute after each refresh
Loop

我正在寻找的是可以使用当前 .Connection 字符串刷新 QueryTable 的内容,但不会在每次刷新时打开新对话框。

我尝试过使用Application.DisplayAlerts = False,但这不会抑制刷新对话框。

如果有任何想法来完成类似的事情,我们将不胜感激。

【问题讨论】:

  • 感谢@JoshuaRoss,这正是我一直在寻找但显然被忽视的财产。您可以将此作为答案发布,以便我将其标记为已解决吗?
  • 没问题!我数不清有多少次我错过了我需要的属性或方法,而只需要另一双眼睛!

标签: vba excel


【解决方案1】:

您应该将 QueryTable 的 .TextFilePromptOnRefresh property 设置为 False

【讨论】:

    猜你喜欢
    • 2013-12-05
    • 1970-01-01
    • 2016-03-27
    • 2020-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    相关资源
    最近更新 更多