Excel VBA:设置新的外部数据连接并刷新而不查询用户

时间:2015-04-13 18:05:43

标签: excel vba excel-vba

我目前有一个excel工作簿,它与.txt文件有外部数据连接。这是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,但这并未取消刷新对话框。

任何想要完成类似事情的想法都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

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