本文介绍了使用打开文件对话框导入txt文件并将其分成单元格的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道我在下一行之后犯了一个错误:如果intChoice<>0然后
有人可以帮我改正吗?

I Know I am doing a mistake after the line:If intChoice <> 0 Then
Can someone help me to rectify it?

Private Sub CommandButton1_Click()
    Dim intChoice As Integer
    'Select the start folder
    Application.FileDialog(msoFileDialogOpen).InitialFileName = "I:\Dunnings"
    'make the file dialog visible to the user
    intChoice = Application.FileDialog(msoFileDialogOpen).Show
    'determine what choice the user made

    If intChoice <> 0 Then
        Workbooks.OpenText.Filename:= intChoice, Origin:=xlMSDOS, StartRow:=23, DataType:=xlFixedWidth, FieldInfo:= _
            Array(Array(0, 1), Array(6, 2), Array(23, 1), Array(30, 2), Array(63, 2), Array(68, 1), _
            Array(77, 4), Array(88, 4), Array(101, 1), Array(117, 1)), TrailingMinusNumbers:= _
            True
        NewPath = Mid(ThisWorkbook.FullName, 1, _
        Len(ThisWorkbook.FullName) - Len(ThisWorkbook.Name)) & "\" & _
            "Dunnings - " & Format(Date, "dd-mm-yyyy") & ".xlsm"
        ThisWorkbook.SaveAs (NewPath)
    End If
End Sub

推荐答案

IntChoice 是整数.
文件名参数需要字符串.像这样:

IntChoice is integer.
Filename argument expects string. Something like this:

With Application.FileDialog(msoFileDialogOpen)
    .InitialFileName = "I:\Dunnings"
    .Filters.Clear
    .title = "Your Title"
    If Not .Show Then
        MsgBox "No file selected.": Exit Sub
    End If
    Workbooks.OpenText .SelectedItems(1) 'and the rest of your code.
End With

这篇关于使用打开文件对话框导入txt文件并将其分成单元格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-01 10:46