一种刷新方法而无需在excel中手动选择文本文件?

时间:2017-10-20 23:25:32

标签: excel vba excel-vba csv

Data > from text > Import text file > ( manually select file )

我正在使用excel 2010。在旧版本中,我用来点击"刷新'并且excel会知道哪个csv刷新我的文件而不要求手动选择文件。

有没有办法强制excel知道刷新数据时要选择哪个csv? (工作簿连接>刷新> ..) 而不是excel提示我回到>导入文本文件> (手动..)

更简单的方法是什么?我试过宏。

Sub Macro1()

    ActiveWorkbook.Connections("mismatch").Refresh
        With Worksheets("0Mismatch").QueryTables(1)
        .Connection = "TEXT;" & ThisWorkbook.Path & "c:\myfile.csv"
        .Refresh BackgroundQuery:=False
     End With
End Sub

但它并没有起作用。

2 个答案:

答案 0 :(得分:0)

首次导入文件时,您犯了一个小错误,并设置了类似“刷新时询问文本文件”的内容。到True。您可以通过右键单击数据范围来更改它,然后转到数据范围属性'。 (我不使用英文Excel版本,因此无法提供准确的解决方案)。

使用VBA,您可以这样做:

With Range("A1").QueryTable 'set reference to any single cell where data is

    .TextFilePromptOnRefresh = False
End With

或:

With Worksheets("0Mismatch").QueryTables(1)
    .TextFilePromptOnRefresh = False
End With

答案 1 :(得分:0)

使用 Excel 2010(英文版),选择 A1 或链接的单元格。 然后单击数据选项卡,然后单击连接部分下的属性。 然后会弹出一个“外部数据范围属性”窗口。 然后取消选中“刷新时提示输入文件名”。
这将允许您在没有文件提示的情况下让宏执行刷新。