我有这个代码,它给了我一个编译错误:预期的功能或变量 我该如何正确编码。
Sub test()
Dim wb As Workbook
Dim FiletoOpen
FiletoOpen = Application.GetOpenFilename(filefilter:="Text Files (*.csv), *.csv", MultiSelect:=False)
Set csv_wb = Workbooks.OpenText(Filename:=FiletoOpen, startRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False _
, Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1), Array(3, 2), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15, 1)))
End Sub
如果我使用Set csv_wb = Workbooks.Open (FiletoOpen)
,它可以正常工作
但是文件中的特定字段需要采用Text
格式
所以我不能用这个。但是当我使用上述内容时,它会给我错误
任何帮助将不胜感激。
答案 0 :(得分:2)
您已声明wb
,但使用csv_WB
尝试此操作。
<强> UNTESTED 强>
Sub test()
Dim csv_WB As Workbook
Dim FiletoOpen
FiletoOpen = Application.GetOpenFilename(filefilter:="Text Files (*.csv), *.csv", MultiSelect:=False)
If FiletoOpen = False Then Exit Sub
Workbooks.OpenText Filename:=FiletoOpen, startRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False _
, Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1), Array(3, 2), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15, 1))
Set csv_WB = ActiveWorkbook
End Sub