将文本文件输入 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

无需[尝试]读取文件两次:您确实将全部内容读入FileContentMsgBox 截断它的原因是,好吧,MsgBox(就像一个单元格)不是为此而制作的,并且具有最大内容长度。 TextBox1 应该能够处理它(除非你给它一个 MaxLength 值)。