将文本文件输入 Excel 表格
Input Text File into Excel Form
我有一个文本文件,其中包含 30 行到 1000 行的数据,每行包含 10 到 200 个字符。我试图在初始化时将此数据输入到用户表单上的文本框中。
我现在使用的代码...
Private Sub UserForm_Initialize()
Dim TextFile As Integer
Dim FilePath As String
Dim FileContent As String
FilePath = "C:\PATH\MyText.txt"
TextFile = FreeFile
Open FilePath For Input As TextFile
FileContent = Input(LOF(TextFile), TextFile)
'MsgBox FileContent
UserForm1.TextBox1 = Input(LOF(TextFile), TextFile)
Close TextFile
End Sub
当我尝试将数据输出到 MsgBox 时它工作正常(但不显示所有数据),但是当我尝试将它输出到 TextBox 时出现错误...
Run-time error '62':
Input past end of file
我猜这里的 EOF
标志还没有准备好...我该怎么做呢?可能是输入文件太大了?
任何想法或建议都会很棒!
Input
在读取文件时移动 "pointer"。
您在这里阅读了整个文件:
FileContent = Input(LOF(TextFile), TextFile)
然后再说一遍:
UserForm1.TextBox1 = Input(LOF(TextFile), TextFile)
但到那时 FileContent
已经有了您的全部内容,文件句柄#TextFile
已经在 EOF。因此,当您尝试再次输入时,您 输入超过了文件末尾。
读取后立即关闭文件,然后执行UserForm1.TextBox1 = FileContent
。
无需[尝试]读取文件两次:您确实将全部内容读入FileContent
。 MsgBox
截断它的原因是,好吧,MsgBox
(就像一个单元格)不是为此而制作的,并且具有最大内容长度。 TextBox1
应该能够处理它(除非你给它一个 MaxLength
值)。
我有一个文本文件,其中包含 30 行到 1000 行的数据,每行包含 10 到 200 个字符。我试图在初始化时将此数据输入到用户表单上的文本框中。
我现在使用的代码...
Private Sub UserForm_Initialize()
Dim TextFile As Integer
Dim FilePath As String
Dim FileContent As String
FilePath = "C:\PATH\MyText.txt"
TextFile = FreeFile
Open FilePath For Input As TextFile
FileContent = Input(LOF(TextFile), TextFile)
'MsgBox FileContent
UserForm1.TextBox1 = Input(LOF(TextFile), TextFile)
Close TextFile
End Sub
当我尝试将数据输出到 MsgBox 时它工作正常(但不显示所有数据),但是当我尝试将它输出到 TextBox 时出现错误...
Run-time error '62':
Input past end of file
我猜这里的 EOF
标志还没有准备好...我该怎么做呢?可能是输入文件太大了?
任何想法或建议都会很棒!
Input
在读取文件时移动 "pointer"。
您在这里阅读了整个文件:
FileContent = Input(LOF(TextFile), TextFile)
然后再说一遍:
UserForm1.TextBox1 = Input(LOF(TextFile), TextFile)
但到那时 FileContent
已经有了您的全部内容,文件句柄#TextFile
已经在 EOF。因此,当您尝试再次输入时,您 输入超过了文件末尾。
读取后立即关闭文件,然后执行UserForm1.TextBox1 = FileContent
。
无需[尝试]读取文件两次:您确实将全部内容读入FileContent
。 MsgBox
截断它的原因是,好吧,MsgBox
(就像一个单元格)不是为此而制作的,并且具有最大内容长度。 TextBox1
应该能够处理它(除非你给它一个 MaxLength
值)。