【发布时间】:2014-10-28 04:25:35
【问题描述】:
我有一个调用函数文件(路径)的 Sub ImportTest1()。导入子似乎工作正常,但我不能确定,因为在设置 QueryTable 内容以将文本文件打开到 Excel 工作表时,Function 部分不起作用。下面的代码是我目前所拥有的(粗体部分是不起作用的部分),我不确定这是什么问题。
Sub ImportTest1()
Dim path As String
'CALL TO OPEN FILE DIALOG BOX
path = opener()
If path = "" Then
Exit Sub
End If
'CALL TO FILE OPEN FUNCTION
files (path)
End Sub
Function opener()
Dim sFile As String
With UserForm1.CommonDialog1
.Filter = "All Files (*.*)|*.*"
.ShowOpen
If Len(.FileName) = 0 Then
Exit Function
End If
sFile = .FileName
End With
Unload UserForm1
opener = sFile
End Function
Function files(path As String)
Workbooks.OpenText FileName:="prt.", Origin:=xlWindows, StartRow:=2, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(1, 1, 1, 1, 1, 1)
End Function
【问题讨论】:
-
你的
FieldInfo不是需要取二维数组的数组吗?我可能是错的,但我认为您至少需要FieldInfo:Array(Array(0,1), Array(1,1), Array(2,1), etc.,我认为您需要它是Array(1,2,3, etc.)而不是Array(1,1,1,...)。 -
当我使用记录宏来查找prt.文件数组是并查看了我得到的那部分...
-
你说得到错误的代码行是粗体的,但我看不到粗体。错误到底是什么意思?
-
另外,您似乎从
opener()获取文件路径和名称,然后将结果path传递给files(path),但您没有使用path它。您的意思是使用FileName:=path而不是FileName:="prt."? -
哦,我只是在这部分使用原始宏,但由于将文件更改为变量选择,我不确定......所以路径是所选文件位置的副本吗??跨度>
标签: excel file vba import prompt