我可以自动进行数据导入的文本导入向导吗?

时间:2019-01-28 17:23:12

标签: excel vba

我记录了一个Excel宏以创建与CSV的数据连接。

但是,当我运行它时,我需要手动设置“文本导入向导”。考虑到我总是选择相同的选项,如何自动执行“文本导入向导”?

更新:我从未通过vba进行数据连接,所以我只尝试记录宏,并生成以下代码:

Workbooks("name").Connections.AddFromFile "...\data.csv", True, False

这将创建数据连接,但每次都会提示“文本导入向导”。我想用它来创建一个Excel加载项

1 个答案:

答案 0 :(得分:1)

在@QHarr注释之后,我现在正在使用Excel2016。使用宏记录器,我得到了很长的代码,为我提供了解决方案

ActiveWorkbook.Queries.Add Name:="data", Formula:= _ "let" & Chr(13) & "" & Chr(10) & " Origen = Csv.Document(File.Contents(""...\data.csv""),[Delimiter="","", Columns=8, Encoding=1252, QuoteStyle=QuoteStyle.None])," & Chr(13) & "" & Chr(10) & " #""Encabezados promovidos"" = Table.PromoteHeaders(Origen, [PromoteAllScalars=true])," & Chr(13) & "" & Chr(10) & " #""Tipo cambiado"" = Table.TransformColumnTypes(#""Encabezados promovidos" & _ """,{{""FechaID"", Int64.Type}, {""año"", Int64.Type}, {""mes"", Int64.Type}, {""dia"", Int64.Type}, {""hora"", Int64.Type}, {""Nemo"", type text}, {""MW generados"", type number}, {""Tecnología"", type text}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " #""Tipo cambiado""" Workbooks(This_workbook).Connections.Add2 "Consulta - data", _ "Conexión a la consulta 'data' en el libro.", _ "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=Carga Horaria;Extended Properties=" _ , """data""", 6, True, False

对不起,西班牙语单词。