nix*_*xda 5 vba parameter-passing ms-office 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
Run Code Online (Sandbox Code Playgroud)
执行代码。它将要求输入文件,您应该在其中使用此分号分隔的test.csv。它创建一个新工作簿并将所有数据从 test.csv 导入到 sheet1。
下图显示了结果
但它应该显示这样的结果
fieldinfo:=Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2))
声明 Excel 应将所有导入的数据视为文本。不幸的是它没有。
有人可以告诉我如何以正确的方式使用 opentext 和 fieldinfo 吗?
我已经知道 QueryTables.Add(Connection[...]
的解决方法。但这不是我的情况的解决方案。
如果您将输入文件中的扩展名从 .csv 重命名为 .txt,则fieldinfo
参数按设计工作。
归档时间: |
|
查看次数: |
8643 次 |
最近记录: |