Vba 突出显示MS Word文件中的列表单词
首先,我想说我对VBA一无所知,我想将.txt(或.doc)文件中的单词列表突出显示为充满文本的MS Word文件B.docx。我发现一个VBA代码可以很好地工作,但它需要您在代码中输入单词StrFnd=“dog,cat,pig,horse,man”。你能帮我修改一下吗?代码得到了列表单词文件A.txt,而不是键入这些单词。多谢各位Vba 突出显示MS Word文件中的列表单词,vba,excel,ms-word,Vba,Excel,Ms Word,首先,我想说我对VBA一无所知,我想将.txt(或.doc)文件中的单词列表突出显示为充满文本的MS Word文件B.docx。我发现一个VBA代码可以很好地工作,但它需要您在代码中输入单词StrFnd=“dog,cat,pig,horse,man”。你能帮我修改一下吗?代码得到了列表单词文件A.txt,而不是键入这些单词。多谢各位 Sub-HiLightList() Application.ScreenUpdating=False 作为字符串的Dim StrFnd,作为范围的Rng,作为长度
Sub-HiLightList()
Application.ScreenUpdating=False
作为字符串的Dim StrFnd,作为范围的Rng,作为长度的i
StrFnd=“狗、猫、猪、马、人”
对于i=0到UBound(拆分(StrFnd,“,”))
设置Rng=ActiveDocument.Range
用Rng.Find
.ClearFormatting
.Text=拆分(StrFnd,“,”)(i)
.Replacement.ClearFormatting
.Replacement.Highlight=True
.Replacement.Text=“^&”
.Forward=True
.Wrap=wdFindContinue
.Format=True
.MatchCase=False
.MatchWholeWord=True
.MatchWildcards=False
.MatchSoundsLike=False
.MatchAllWordForms=True
.Execute Replace:=wdReplaceAll
以
下一个
设置Rng=无
Application.ScreenUpdating=True
End Sub
好的,这将查看第一个文档中的单词列表,然后突出显示当前文档中的相同单词
Sub CompareWordList()
Dim sCheckDoc As String
Dim docRef As Document
Dim docCurrent As Document
Dim wrdRef As Object
sCheckDoc = "C:\highlight\A.txt"
Set docCurrent = Selection.Document
Set docRef = Documents.Open(sCheckDoc)
docCurrent.Activate
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Replacement.Font.Bold = True
.Replacement.Text = "^&"
.Forward = True
.Format = True
.MatchWholeWord = True
.MatchCase = True
.MatchWildcards = False
End With
For Each wrdRef In docRef.Words
If Asc(Left(wrdRef, 1)) > 32 Then
With Selection.Find
.Wrap = wdFindContinue
.Text = wrdRef
.Execute Replace:=wdReplaceAll
End With
End If
Next wrdRef
docRef.Close
docCurrent.Activate
End Sub
您是否用某种颜色突出显示文件A中的单词,并将这些单词放入文件B?我使用此代码“Alt+F11”>插入模块>粘贴代码并运行F5。我得到的结果是,如果在B文件中有这些单词“dog,cat,…vv”,它将突出显示。问题是我有一长串单词需要在B文件中突出显示。那么您知道如何在不键入列表的情况下运行代码吗。因为我的单字很长,我曾试图将所有的单字复制到代码中,但没有成功。你不太清楚你想要什么。首先,它看起来好像您想要一个文档中突出显示的单词列表,然后在另一个文档中突出显示这些单词。现在你是说你在一个文档中有一个单词列表,你想在另一个文档中突出显示。我对我的英语感到抱歉。让我再说清楚一次。我有一个file.txt,其中包括“猫,狗,车…vv”,还有一个B file.docx(我喜欢猫和狗)。我打开B文件并运行代码,我得到的是猫和狗将突出显示。现在我想让你帮我如何用我发布的代码做到这一点。代码在没有文件的情况下工作,但我想要的是代码在有文件的情况下工作。因为我的文件列表很长。先谢谢你。看看当前的答案你的代码对我来说太难了,运行之后我仍然不明白它如何突出我想要的单词,我不是程序员。我只想从C:\highlight\A.txt获取数据,以替换这行StrFnd=“狗、猫、猪、马、人”。因为列表中的单词太长了,我无法将其放入代码中。我发布的代码运行良好(不是我的代码)。已替换代码。这和你所拥有的很相似,所以应该很容易理解它的工作原理,非常感谢你花时间来帮助我。天啊。我花了一天时间在谷歌上搜索,但找不到解决方案。现在你来帮我了。谢谢。很高兴我能帮上忙。请选择我的答案作为解决方案。是的。非常感谢。祝你一切顺利。