我有一份170页的文件。我想识别包含特定名称的页面。然后,当找到时,我想在页面末尾写一个小注释:
搜索姓名:“文章:Kr”
注意在相关页面末尾写入:“DefaultKr”
每次尝试解决这个问题,我都会得到不同的结果。
Sub Find()
Dim Page As Integer
Dim Fin As Integer
Selection.GoTo What:=wdGoToPage, Which:=wdGoToFirst
Windows("g-1.doc").Activate
Page = Selection.Information(wdActiveEndPageNumber)
While (CurrentPage <= Page)
Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext
Selection.HomeKey Unit:=wdStory
With Selection.Find
.Text = "Article : KR"
.Forward = True
.Wrap = wdFindContinue
End With
If Selection.Find.Text = "Article : KR" Then GoTo Jim1
Jim1:
Selection.EndKey Unit:=wdStory
Selection.TypeText ("DéfautsKR")
With Selection.Find
.Text = "Article : IP"
.Forward = True
.Wrap = wdFindContinue
End With
If Selection.Find.Text = "Article : IP" Then GoTo Jim2
Jim2:
Selection.EndKey Unit:=wdStory
Selection.TypeText ("DéfautsIP")
Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext
CurrentPage = CurrentPage + 1
Wend
End Sub
答案 0 :(得分:0)
如果我完全不理解你,这应该会有所帮助。它搜索文档,如果找到搜索字符串,则会写一个脚注:
Computers:
- Brand: Dell
Cost: 500
IP: 194.66.82.11
- Brand: HP
Cost: 600
IP: 194.66.82.13
- Brand: Asus
Cost: 550
IP: 194.66.82.15
我不完全确定你的意思是“...在页面末尾写一个小纸条”
答案 1 :(得分:0)
发现问题: 1)您是否尝试在文档末尾或每页末尾添加信息? selection.endkey unit:= wdStory在文档末尾写下你的评论。那是你想要的吗?
2)如果您在每个页面的末尾添加一条或多条评论,那么您的分页将会改变。
解决方案概述 您似乎想要找到一个名称和文档数组,您可以在其中找到它们。有两个选项可以让你在没有弄乱打印的情况下记录名称的位置,例如1)找到名称并插入注释,2)找到名称并更改高亮/背景颜色。除非明确指示,否则不会打印注释。在打印之前,所有背景颜色都可以重置为白色。
<强>答案强> 就编程而言,我可能会创建一个选定名称的数组,循环遍历名称数组并使用select case设置变量,找到变量并突出显示或添加注释以标记变量。您可以随时移动到当前页面的末尾,以按照您的建议添加文本。
Dim NameArray("name1", "name2", ect) As String
Selection.HomeKey wdStory
With NameArray
With Selection.Find
.Text = NameArray
While .Found
Select Case NameArray
Case "name1"
myIndex = wdRed
myText = "DefaultName1"
Case "name2"
myIndex = wdYellow
myText = "DefaultName2"
Case Else
GoTo skipme
End Select
Selection.Range.HighlightColorIndex = myIndex
or
Selection.Collapse Direction:=wdCollapseEnd
ActiveDocument.Comments.Add Range:=Selection.Range, _
Text:=myText
Wend
End With
End With