我有一个 csv 文件,需要不断地在 Excel 中打开,然后将数据复制到单独的工作簿。
我发现必须单击所有对话框、设置文本标识符、将所有列设置为文本的过程非常繁琐。
在处理与 MSSQL 或 Access 相关的此类数据的许多操作中,程序会询问您是否要保存这些步骤,但是 Excel 并不会轻易询问这一点。
有没有什么方法可以达到与 Excel 类似的用法?
答案1
导入数据后,您可以选择数据范围,右键单击,然后选择“刷新数据”。
这将提示您输入一个文件 - 并且它会插入更新的数据,而无需执行您上面提到的所有步骤。
它适用于 OS X 版 Office 2011,但应该也适用于早期的 Windows 版本。
答案2
使用宏记录器,并将其全部记录在宏中。
这是我宏化一个常见导入时得到的结果:
With ActiveSheet.QueryTables.Add(Connection:="TEXT;E:\AEP_out.txt", _
Destination:=Range("A1"))
.Name = "AEP_out"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 1, 1, 1)
.TextFileFixedColumnWidths = Array(27, 16, 22)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With