Workbooks.OpenText不接受'fieldinfo'参数

时间:2012-03-04 22:48:36

标签: vba ms-office parameter-passing excel-2003

以下代码演示了问题标题中陈述的问题。

复制&将其粘贴到新的Microsoft Excel 2003工作簿中。

Sub mytest()
    mypath = Application.GetSaveAsFilename()

    Workbooks.OpenText Filename:=mypath, DataType:=xlDelimited, _ 
        TextQualifier:=xlTextQualifierDoubleQuote, _ 
        semicolon:=True, _ 
        fieldinfo:=Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2)), _ 
        Local:=True
End Sub

执行代码。它将要求输入文件,您应该使用此分号分隔的test.csv。它创建一个新工作簿并将所有数据从test.csv导入到sheet1。

下图显示了结果
enter image description here

但它应该显示出这样的结果 enter image description here


fieldinfo:=Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2))
声明Excel应将所有导入的数据视为文本。不幸的是,它没有。

有人能告诉我如何以正确的方式使用opentext和fieldinfo吗?

我已经知道使用QueryTables.Add(Connection [...]。)的解决方法 但那不是我案例的解决方案。

1 个答案:

答案 0 :(得分:4)

如果您将扩展名从输入文件从.csv重命名为.txt,fieldinfo参数将按设计运行。