VBA:将行从文本文件复制到Word doc中

| 通常,我创建宏时会记录该功能,然后对其进行相应的调整,因此很遗憾,我不知道如何实现此操作。 我有一些文本文件,它们是帐户的存档;每个文件中至少有3万多行,每个文件中有数百个(如果不是数千个)帐户。文档中的第一行具有帐号,每个帐号均由唯一的文本字符串分隔。 目的是要有一个宏,它可以在文本文件中查找,查找帐号,然后复制其下的所有行,直到到达唯一的分隔字符串,然后将它们粘贴到活动的Word文档中以进行查看。 我没有想到我会从这样一个模糊的问题中得到具体的答案,但是任何可以提供的建议都会受到赞赏。     
已邀请:
这是说明原理的快速而又肮脏的一个..让文本文件名为“ accounts.txt”,其内容如下:
Account 1
item 1
item 2
item 3
=========
Account 2
item 4
item 5
=========
Account 3
item 6
item 7
=========
现在,让我们来看一些使用
Open As
Line Input
以及循环构造...的非常基本的VBA代码。
Sub GetAccountFromTextFile(FileName As String, Accnt As String)
Dim MyLine As String, State As String

    Open FileName For Input As #1
    State = \"Searching\"               \' we could make this much simpler but 
                                      \' want to illustrate the different stati
                                      \' the loop is reaching

    Do While Not (EOF(1) Or State = \"End\")

        Line Input #1, MyLine         \' read next line from text file

                                      \' now process as function of
                                      \' content and current state

        If State = \"Reading\" And MyLine = \"=========\" Then
            State = \"End\"

        ElseIf MyLine = \"Account \" & Accnt Then
            Selection.InsertAfter \"Account \" & Accnt & vbCrLf
            State = \"Reading\"

        ElseIf State = \"Reading\" Then
            Selection.InsertAfter MyLine & vbCrLf
        End If

    Loop
    Close #1

End Sub
你叫另一个子
Sub test()
    GetAccountFromTextFile \"C:\\Documents and Settings\\MySelf\\Desktop\\accounts.txt\", 1
    GetAccountFromTextFile \"C:\\Documents and Settings\\MySelf\\Desktop\\accounts.txt\", 3
    GetAccountFromTextFile \"C:\\Documents and Settings\\MySelf\\Desktop\\accounts.txt\", 2
End Sub
从Word文档中的任何地方启动test(),然后将以下内容粘贴到文档中:
Account 1
item 1
item 2
item 3
Account 3
item 6
item 7
Account 2
item 4
item 5
现在,您可以在主子窗口(可能是对话框形式)上非常有创意,可以在调用帐户获取器之前获取文件名和帐号,并且您将需要修改查找帐号和分隔模式的条件在吸气剂中。虽然不是很老练,但足以让您继续前进。 祝好运 迈克·D     

要回复问题请先登录注册