vba - 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 上的数据会刷新,但前提是要在对话框中选择文件。我想在没有对话框的情况下刷新它们。
有任何想法吗?
解决方案
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
请注意,可能还需要在代码中显式设置一些导入参数,例如分隔符等。
推荐阅读
- java - 在 Util 类中有私有静态字段是不是很糟糕?
- git - 删除 repo 中的第一个提交
- mips - 计算行数并在 mars mips 中打印
- ansible - 我无法使用 ansible 从 VM 获取额外的配置属性
- sql-server - sp_who2 中的一个或多个 blkby 列中包含当前 spid 是什么意思?
- postgresql - 使用感叹号时 tsvector 搜索出现问题
- ios - 从 ViewController 转到 TabBarView
- java - Android Class.forName 无法使用默认类加载器加载类
- python - 我将如何创建一个循环,为 .xml 文件中的每个孩子创建一个新元组
- c# - 'Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机 MS Azure 上注册。(具体回答)