首页 > 解决方案 > Excel VBA /从特定源刷新数据而无需对话框

问题描述

我的工作簿中有一张从 TXT 导入的数据的工作表(“Sheet2”)。每天从文件 ZLX02S_FG_ 和“后缀”刷新数据。文件的名称和路径始终是已知的或计算的。

File name = ZLX02S_FG_20180821_095910.txt
Path name = C:\Users\lmisek\Desktop\WMS-L05-FG\

我试过这段代码:

Sub Refresh_Macro()

    With Worksheets("Sheet2").QueryTables(1)
        .Connection = "TEXT;C:\Users\lmisek\Desktop\WMS-L05-FG\ZLX02S_FG_20180821_095910.txt"
        .Refresh BackgroundQuery:=False
     End With

End Sub

sheet2 上的数据会刷新,但前提是要在对话框中选择文件。我想在没有对话框的情况下刷新它们。

有任何想法吗?

标签: vbaexcel

解决方案


TextFilePromptOnRefresh属性是您正在寻找的。

With Worksheets("Sheet2").QueryTables(1)
   .TextFilePromptOnRefresh = False
   .Connection = "TEXT;C:\Users\lmisek\Desktop\WMS-L05-FG\ZLX02S_FG_20180821_095910.txt"
   .Refresh BackgroundQuery:=False
End With

请注意,可能还需要在代码中显式设置一些导入参数,例如分隔符等。


推荐阅读