本帖最后由 290706123@qq.com 于 2012-8-25 11:24 编辑
- Set Quert = oETSheet.QueryTables.Add("TEXT;" & sPath, oET.Range("A1"))
复制代码 这句代码执行时报错“实时错误5,无效的过程调用或参数”
我传递的参数么有问题呀,应该是这个接口内部出现了问题,请ET研发人员尽快修正
这里附上代码全文- Private Sub ETInputCSV()
- Dim oET As Object
- Dim oETSheet As Object
- Dim Quert As Object
- Dim sPath As String
- Set oET = CreateObject("ET.Application")
- sPath = ""
- sPath = oET.GetOpenFilename("待导入文件CSV,*.csv", 1, "打开需要导入的文件", "导入", False)
- If UCase(sPath) = UCase("False") Then
- oET.Quit
- Set oET = Nothing
- Exit Sub
- End If
- oET.SheetsInNewWorkbook = 1
- With oET.Workbooks.Add()
- .Activate
- End With
- Set oETSheet = oET.ActiveSheet
- If oETSheet Is Nothing Then
- Set oETSheet = oET.ActiveWorkbook.Worksheets.Add
- End If
- oETSheet.Name = "导入"
- Set Quert = oETSheet.QueryTables.Add("TEXT;" & sPath, oETSheet.Cells(0, 0))
- With Quert
- .Name = "Path"
- .FieldNames = True '字段名称作为返回数据的列标题显示
- .RowNumbers = False '不允许显示行号
- .FillAdjacentFormulas = False '自动刷新数据源
- .PreserveFormatting = True
- .RefreshOnFileOpen = False '每次打开文件时自动刷新数据源
- .RefreshStyle = xlInsertDeleteCells '更新方式:插入或者删除部分行以适应新记录集所需要的实际行数
- .SavePassword = False '是否保存查询密码
- .SaveData = True
- .AdjustColumnWidth = True '自动调整列宽
- .RefreshPeriod = 0 '刷新间隔
- .TextFilePromptOnRefresh = False
- .TextFilePlatform = 936 '被导入文件的代码页
- .TextFileStartRow = 1 '导入文本文件时进行文本分列的起始行号
- .TextFileParseType = xlDelimited '导入查询表的文本文件中数据的列格式
- .TextFileTextQualifier = xlTextQualifierDoubleQuote '设置导入文件的列分隔符类型。这里选择是,加双引号
- .TextFileConsecutiveDelimiter = False '不将连续分隔符看作是一个分隔符
- .TextFileTabDelimiter = False '导入文本文件时不使用 Tab 作为分隔符
- .TextFileSemicolonDelimiter = False '导入文本文件时不使用分号作为分隔符
- .TextFileCommaDelimiter = True '导入查询表中时,以逗号作为分隔符
- .TextFileSpaceDelimiter = False '导入文本文件时,使用空格字符作为分隔符
- .TextFileColumnDataTypes = Array(2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2) '设置所有列的格式,使用类型是 xlcolundatatype 这里全部设置为 xlTxtFormat=2 就是文本
- .TextFileTrailingMinusNumbers = True '数字是否使用负号
- .Refresh BackgroundQuery:=False
- End With
- oET.Visible = True
- End Sub
复制代码 |
|