Chr*_*ris 2 excel vba excel-vba
我正在尝试使用VBA编写Excel宏来自动将CSV文本导入电子表格,但我以前从未这样做过.我需要确保每次出现的文本导入向导都以相同的方式运行.我需要采取的步骤是:
我似乎无法浏览显示如何执行这些操作(如打开文件)的文档.即使能够从那里开始也会有所帮助.
下面的代码将允许用户浏览csv文件.
它会:
.opentext代码需要根据源数据中的列数进行更新.
Sub ImportCSV()
Dim vPath As Variant
Dim wb As Excel.Workbook
Dim ws As Excel.Worksheet
Set wb = Excel.ActiveWorkbook
Set ws = Excel.ActiveSheet
vPath = Application.GetOpenFilename("CSV (Comma Delimited) (*.csv),*.csv" _
, 1, "Select a file", , False)
''//Show the file open dialog to allow user to select a CSV file
If vPath = False Then Exit Sub
''//Exit macro if no file selected
Workbooks.OpenText Filename:=vPath, Origin:=xlMSDOS, StartRow:=1 _
, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, Comma:=True _
, FieldInfo:=Array(Array(1, xlTextFormat), Array(2, xlTextFormat), _
Array(3, xlTextFormat))
''//The fieldinfo array needs to be extended to match your number of columns
Columns.EntireColumn.AutoFit
''//Resize the columns
Sheets(1).Move Before:=wb.Sheets(1)
''//Move the data into the Workbook
End Sub
Run Code Online (Sandbox Code Playgroud)