用户登录
用户注册

分享至

Vb凋用word查找替换功能

  • 作者: 笑点GIF图
  • 来源: 51数据库
  • 2020-06-05

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查找替换功能

软件
前端设计
程序设计
Java相关