我有更好的方法來打開文本文件,但利用上面的答案之一。
Sub ImportTextFile()
'better method to retrieving Data from txt.
If Not Range("A2").Value = "" Then
MsgBox "Clear Data First"
Sheets("Input DATA").Select
Exit Sub
End If
fileToOpen = application.GetOpenFilename("Text Files (*.txt), *.txt")
If fileToOpen = False Then fileToOpen = ThisWorkbook.Path
MsgBox "File is " & fileToOpen
With ActiveSheet.QueryTables.Add(connection:= _
"TEXT;" + fileToOpen, Destination:=Range("$A$2"))
'.name = "All"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Call RemoveEmptyRows
End Sub
Sub RemoveEmptyRows()
On Error Resume Next
Range("A2:A5000").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Delete Shift:=xlUp
Resume:
Range("A2").Select
End Sub
是什麼打開「整個文件夾」的樣子 - 你的意思是你想顯示在Windows資源管理器文件夾的內容,或者你想要的文件夾中打開所有文件?在任何情況下,您都不能使用getopenfilename來選擇一個文件夾:如果沒有選擇文件,則不會返回任何文件。如果你希望你的用戶能夠選擇一個文件夾,那麼你需要使用不同的路線。 –
(我指定了我的問題。)所以'getopenfilename'不能實現這一點。還有其他功能嗎? –
我找到了解決我的問題。也許不完全是我搜索,但無論如何: [http://www.oaltd.co.uk/mvp/MVPPage.asp](http://www.oaltd.co.uk/mvp/MVPPage.asp) 吉姆的工具箱「BrowseForFolder」應該可以幫助你:-) –