
1. 想用vb打开一个指定的word文档,并可以实现查找替换功能
Dim wordapp
Set wordapp = CreateObject("word.application")
With wordapp
.documents.open ("F:\1.doc")
.Visible = True
.activedocument.Content.Find.Execute FindText:=text1, ReplaceWith:=text2, Replace:=2
End With祝你成功!
2. 求一段VB(word宏)的代码,关于文件查找替换功能
先发一个替换的宏给你试试:
Sub Replace()
Dim Message, Title, Default, MyValue, NeedReplace, MyReplace
Message = "请输入文件所在目录" ' Set prompt.
Title = "InputBox Demo" ' Set title.
Default = "c:\" ' Set default.
' Display message, title, and default value.
MyValue = InputBox(Message, Title, Default)
Message = "请输入需要被替换的词" ' Set prompt.
Title = "InputBox Demo" ' Set title.
Default = "aaa" ' Set default.
' Display message, title, and default value.
NeedReplace = InputBox(Message, Title, Default)
Message = "请输入替换之后的词" ' Set prompt.
Title = "InputBox Demo" ' Set title.
Default = "xxx" ' Set default.
' Display message, title, and default value.
MyReplace = InputBox(Message, Title, Default)
Dim MyFoundFiles(10000)
Dim MyFoundCount
With Application.FileSearch
.FileName = "*.txt"
.LookIn = MyValue
.Execute
MyFoundCount = .FoundFiles.Count
For i = 1 To .FoundFiles.Count
MyFoundFiles(i) = .FoundFiles(i)
Next i
End With
For i = 1 To MyFoundCount
Documents.Open FileName:=MyFoundFiles(i)
With Selection.Find
.Text = NeedReplace
.Replacement.Text = MyReplace
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Documents(MyFoundFiles(i)).Save
ActiveWindow.Close
Next i
End Sub
3. 怎样用VB代码实现查找替换word页眉里的文字
参考这个代码替换页眉里的文字(注意这个代码只适用于奇偶页眉相同的情形):
Sub ReplaceAllInHeader(strFind As String, strReplace As String)
Dim oStoryRange As Range
Set oStoryRange = ActiveDocument.StoryRanges(wdPrimaryHeaderStory)
oStoryRange.Find.ClearFormatting
oStoryRange.Find.Replacement.ClearFormatting
With oStoryRange.Find
.Text = strFind
.Replacement.Text = strReplace
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
oStoryRange.Find.Execute Replace:=wdReplaceAll
End Sub
如果想针对全文进行替换(包括正文、普通页眉、奇偶页眉、普通页码
、奇偶页码、脚注、尾注等等):
Sub ReplaceAll(strFind As String, strReplace As String)
Dim oStoryRange As Range
For Each oStoryRange In ActiveDocument.StoryRanges
oStoryRange.Find.ClearFormatting
oStoryRange.Find.Replacement.ClearFormatting
With oStoryRange.Find
.Text = strFind
.Replacement.Text = strReplace
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
oStoryRange.Find.Execute Replace:=wdReplaceAll
Next
End Sub
4. 用VB实现文本查找和替换
Private Sub cmdExit_Click()
End
End Sub
Private Sub cmdFind_Click()
Dim StrCz As String, StrTh As String, I As Integer, J As Integer, K As Integer
StrCz = InputBox("你要查找什么?", "查找", "上海市")
StrTh = InputBox("你要将查找到的字符替换成什么?", "替换", "南京市")
On Error Resume Next
I = 0
Do
DoEvents
Txtpape.SetFocus
Txtpaper.SelStart = InStr(IntKs + 1, Txtpaper, StrCz) - 1
If Err = 380 Then
MsgBox "查找完毕!", vbOKOnly, "查找完毕"
Exit Sub
End If
IntKs = Txtpaper.SelStart + Len(StrCz)
Txtpaper.SelLength = Len(StrCz)
I = I + 1
lblFinded = "已经找到" & I & "处"
K = MsgBox("找到第" & I & "处“" & StrCz & "”,是否替换?", vbYesNo, "找到第" & I & "处“" & StrCz & "”")
If K = 6 Then
Clipboard.Clear
Clipboard.SetText StrTh
Txtpaper.SelText = Clipboard.GetText
J=j+1
lblReplaced="您替换了" & J & "次!"
End If
Loop
End Sub
Private Sub Form_Load()
cmdExit.Caption = "退 出"
cmdFind.Caption = "查找替换"
Txtpaper = "上海市青少年计算机应用操作竞赛是一项经上海市教委批准,由上海市青少年科技教育中心主办的加分竞赛活动?旨在培养青少年的软件操作和应用能力,适应当今社会科技、信息的飞速发展,激发青少年学生学习计算机的兴趣,早日成为二十一世e799bee5baa6e79fa5e9819331333262353939纪的全能人才。"
End Sub
更多VB代码请关注我的博客:
5. VB求解 要模仿Word字处理软件的查找替换功能编程,运行程序在查找
不知道你那些控件的名称,随便写一个程序供你参考,程序如下: Private Sub Command1_Click() Dim f$, c$, s$, jg$, p% s = "电脑硬件电脑系统" f = "电脑" c = "计算机" p = InStr(s, f) Do While p <> 0 jg = Left(s, p - 1) & c & Right(s, Len(s) - p - Len(f) + 1) s = jg p = InStr(s, f) Loop MsgBox jgEnd Sub。
6. 用VB实现文本查找和替换
Private Sub cmdExit_Click()EndEnd SubPrivate Sub cmdFind_Click()Dim StrCz As String, StrTh As String, I As Integer, J As Integer, K As IntegerStrCz = InputBox("你要查找什么?", "查找", "上海市")StrTh = InputBox("你要将查找到的字符替换成什么?", "替换", "南京市")On Error Resume NextI = 0Do DoEvents Txtpape.SetFocus Txtpaper.SelStart = InStr(IntKs + 1, Txtpaper, StrCz) - 1 If Err = 380 Then MsgBox "查找完毕!", vbOKOnly, "查找完毕" Exit Sub End If IntKs = Txtpaper.SelStart + Len(StrCz) Txtpaper.SelLength = Len(StrCz) I = I + 1 lblFinded = "已经找到" & I & "处" K = MsgBox("找到第" & I & "处“" & StrCz & "”,是否替换?", vbYesNo, "找到第" & I & "处“" & StrCz & "”") If K = 6 Then Clipboard.Clear Clipboard.SetText StrTh Txtpaper.SelText = Clipboard.GetText J=j+1 lblReplaced="您替换了" & J & "次!" End IfLoopEnd SubPrivate Sub Form_Load()cmdExit.Caption = "退 出"cmdFind.Caption = "查找替换"Txtpaper = "上海市青少年计算机应用操作竞赛是一项经上海市教委批准,由上海市青少年科技教育中心主办的加分竞赛活动?旨在培养青少年的软件操作和应用能力,适应当今社会科技、信息的飞速发展,激发青少年学生学习计算机的兴趣,早日成为二十一世纪的全能人才。
"End Sub更多VB代码请关注我的博客:。
7. 如何使用word的查找和替换功能,将文档中的所有红色的字符替换为蓝
貌似不可以。
用宏可以快速实现。同时按Alt和F11进入宏界面,点菜单插入,模块,粘贴如下代码:
Sub test()
Dim xCh As Range
For Each xCh In ThisDocument.Characters
If xCh.Font.Color = vbRed Then xCh.Font.Color = vbBlue
Next
End Sub
在此界面直接按F5运行此宏,回到Word,完成。
转载请注明出处51数据库 » Vb凋用word查找替换功能
笑点GIF图