尝试将选定的文本文件导入单元格 A1
Trying to import the selected text file to Cell A1
我正在尝试创建一个宏,提示用户 select 一个文本文件,然后将 selected 文本文件的内容导入到一个单元格中。我设法获得文件对话框并让用户 select 文件,但我不知道如何继续导入文件。有人可以帮忙吗?
这是我目前的(工作)代码:
Sub ImportFile()
Dim dFile As FileDialog, result As Integer, it As Variant
Set dFile = Application.FileDialog(msoFileDialogOpen)
dFile.InitialFileName = "G:\"
If dFile.Show = -1 Then
Debug.Print dFile.SelectedItems(1)
End If
End Sub
提前致谢!
您正在寻找类似于下面的代码,它将导入您的整个 .txt。文件,到二维数组。之后,您需要遍历行维度,并将每一行的列复制到您的工作表中,从第 1 行开始。
代码
Option Explicit
Sub ImportFile()
Dim fNum As Integer
Dim WholeFile As String
Dim FileName As String
Dim Arr As Variant, ArrRow As Variant
Dim i As Long, Col As Long
Dim dFile As FileDialog, result As Integer, it As Variant
Set dFile = Application.FileDialog(msoFileDialogOpen)
dFile.InitialFileName = "G:\"
If dFile.Show = -1 Then
FileName = dFile.SelectedItems(1)
End If
fNum = FreeFile
Open FileName For Input As fNum
WholeFile = Input$(LOF(fNum), #fNum)
Close fNum
Arr = Split(WholeFile, vbCrLf) ' Break the file into lines (array) change vbCrLf to your rows delimeter
' loop through Array rows
For i = 0 To UBound(Arr) - 1
ArrRow = Split(Arr(i), ",") ' break the row to columns , change "," to your delimeter
Range("A" & i + 1).Resize(1, UBound(ArrRow)).Value = ArrRow
Next i
End Sub
我正在尝试创建一个宏,提示用户 select 一个文本文件,然后将 selected 文本文件的内容导入到一个单元格中。我设法获得文件对话框并让用户 select 文件,但我不知道如何继续导入文件。有人可以帮忙吗?
这是我目前的(工作)代码:
Sub ImportFile()
Dim dFile As FileDialog, result As Integer, it As Variant
Set dFile = Application.FileDialog(msoFileDialogOpen)
dFile.InitialFileName = "G:\"
If dFile.Show = -1 Then
Debug.Print dFile.SelectedItems(1)
End If
End Sub
提前致谢!
您正在寻找类似于下面的代码,它将导入您的整个 .txt。文件,到二维数组。之后,您需要遍历行维度,并将每一行的列复制到您的工作表中,从第 1 行开始。
代码
Option Explicit
Sub ImportFile()
Dim fNum As Integer
Dim WholeFile As String
Dim FileName As String
Dim Arr As Variant, ArrRow As Variant
Dim i As Long, Col As Long
Dim dFile As FileDialog, result As Integer, it As Variant
Set dFile = Application.FileDialog(msoFileDialogOpen)
dFile.InitialFileName = "G:\"
If dFile.Show = -1 Then
FileName = dFile.SelectedItems(1)
End If
fNum = FreeFile
Open FileName For Input As fNum
WholeFile = Input$(LOF(fNum), #fNum)
Close fNum
Arr = Split(WholeFile, vbCrLf) ' Break the file into lines (array) change vbCrLf to your rows delimeter
' loop through Array rows
For i = 0 To UBound(Arr) - 1
ArrRow = Split(Arr(i), ",") ' break the row to columns , change "," to your delimeter
Range("A" & i + 1).Resize(1, UBound(ArrRow)).Value = ArrRow
Next i
End Sub