通常我创建我的宏来记录该功能,然后相应地调整它们,所以我很遗憾不知道如何实现这个操作。
我有许多文本文件,是帐户档案;每个文件至少有30k +行,每个文件中有数百个(如果不是数千个)帐户。文档中的第一行包含帐号,每个帐户除以一个唯一的文本字符串。
目标是让一个宏在文本文件中查找,找到帐号,然后复制它下面的所有行,直到它到达唯一的分隔字符串,然后将它们粘贴到活动的word文档中进行查看。 / p>
我无法想象我会从这样一个模糊的问题中得到具体答案,但任何可以提供的指示都会受到赞赏。
答案 0 :(得分:1)
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 Doc中的任何位置开始测试(),以下内容将粘贴到文档中:
Account 1
item 1
item 2
item 3
Account 3
item 6
item 7
Account 2
item 4
item 5
现在,您可以在主要子(可能是对话框表格)中非常有创意,了解如何获取文件名和帐号,然后才能调用帐户获取者,并且您需要修改查找帐号的条件和吸气剂内的分离模式。不是很复杂,但应该足以让你前进。
祝你好运 拾音