word 替换功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了word 替换功能相关的知识,希望对你有一定的参考价值。

能不能用word的替换功能来实现?如果不能实现该怎么实现

我有一个文件,里面有多个内容,以下为例子
c:\pro\bro\cro\aaa.exe , 调换为c:\new\aaa.exe
c:\apple\banana\cash\donkey\askdlfja.exe,调换为c:\new\asdlfja.exe

等多个数据,不可能手动调整的。要怎样使用word的替换功能来完成?
前面固定值是c:\ 后面固定值是exe 中间全部是不固定值,字母的数量是不固定的。有中文也有英文字母
【c:\ 后面固定值是exe 中间全部是不固定值,字母的数量是不固定的。有中文也有英文字母 】等多个数据,不可能手动调整的。所以2楼的方法基本上没用

Word中的替换功能你知道怎么用吗?

参考技术A 看看我的吧。打开替换对话框,单击高级,勾选使用通配符,在查找内容框中原样粘贴如下代码 (c:)(?)(*)(\\aaa.exe),然后在替换为框中原样粘贴如下代码 \1\2new\4,单击全部替换,可以将所有满足 c:\*\aaa.exe 的替换为c:\new\aaa.exe ;同理,在查找内容框中原样粘贴如下代码 (c:)(?)(*)(\\askdlfja.exe),替换为框代码保持不变,单击全部替换,则把满足 c:\*\askdlfja.exe形式的调换为c:\new\asdlfja.exe。本回答被提问者采纳 参考技术B 不知道您使用的是2007还是2003额,如果是03:
您问的问题应该可以用Word的“自动更正”功能来解决吧。
操作方法(在自动更正列表中添加词条):
在“工具”菜单上,单击“自动更正选项”。
在“替换”框中,键入经常错误键入或拼写错误的单词或短语,例如,键入“c:\pro\bro\cro\aaa.exe”。
在“替换为”框中,键入正确拼写的单词,例如,键入“c:\new\aaa.exe”。
单击“添加”。 同样方法调整另一个
如果是07:
在开始选项卡的最后一栏“编辑”中找到替换,然后根据提示操作就行了
参考技术C 在编辑下拉菜单中有替换
点击打开后在查找栏里输入c:\pro\bro\cro\aaa.exe
在“替换为”栏里输入c:\new\aaa.exe
点击全部替换就可以了
另一个也是如此

如何用VBA实现WORD批量替换?

根据网友的代码,点击“全部替换”按钮可实现listview两列字符的替换,我的问题是:
希望listview控件支持ctrl+鼠标和shift+鼠标的选择方式,按esc键可以取消全部选择。然后,在按下“替换”按钮时,判断listview中哪些行被选中,然后根据选中个行进行替换。
谢谢。

操作步骤。
  第一,首先将需要批量替换的多个Word文档放在同一文件夹下面。
  第二,新建一空白Word文档,右击空白工具栏,单击“控件工具箱”,就可以看到屏幕上调出的控件工具箱。
  第三,在控件工具箱上单击“命令按钮”,文档中就放置了一个按钮了。
  第四,双击该按钮,进入VB代码编写模式,将以下代码复制进去。
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim myPas As String, myPath As String, i As Integer, myDoc As Document
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "选择目标文件夹"
If .Show = -1 Then
myPath = .SelectedItems(1)
Else
Exit Sub
End If
End With
myPas = InputBox("请输入打开密码:")
With Application.FileSearch
.LookIn = myPath
.FileType = msoFileTypeWordDocuments
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
Set myDoc = Documents.Open(FileName:=.FoundFiles(i), Passworddocument:=myPas)
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "大家好"
.Replacement.Text = "你好"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
myDoc.Save
myDoc.Close
Set myDoc = Nothing
Next
End If
End With
Application.ScreenUpdating = True
End Sub
  
第五,保存上面代码,退出VB编辑模式,返回Word文档界面。
  第六,单击选中该按钮,再单击控件工具箱的第一个按钮“退出设计模式”。
  第七,进行测试:点击按钮,选择要放置多个WORD文档所在的文件夹,确定后即可完成!注意如果WORD文档没有加密的话,密码项就不填,直接确认。就会发现该文件夹下面的所有WORD文档中“大家好”已被替换为“你好”了。
参考技术A 123456789101112131415161718192021 For i = 1 To n 'n是listview1的行数 Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = ListView1.ListItems(i).SubItems(0) 'Findstr=listview1的第i行第1列对应
单元格
的内容 .Replacement.Text = ListView1.ListItems(i).SubItems(1) 'Findstr=listview1的第i行第2列对应单元格的内容 .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 ListView1.selectedItem = i Next MsgBox "处理完毕!", vbInformation + vbOKOnly, "消息" ListView1.selectedItem = 1
参考技术B 传文件过来,我改代码。追问

怎么传给您?如能改代码我加至100分谢谢

参考技术C 1、listview的multselect修改为true,就可以多选,符合你的要求
2、看你的情况之前应该是遍历listview然后替换,那么只需要增加一个判断
dim i as integer
for i=1 to listview1.listitems.count '遍历

if listview1.listitems(i).selected then '是否选中的判断

replacechar '你的替换代码

end if

next i

3、至于取消选择,试了下selected=false,结果无效,不过反正你数据是从txt读取的,重新读取一下吧
Private Sub ListView1_KeyUp(KeyCode As Integer, ByVal Shift As Integer)
'按键事件
if keycode=27 then
listview1.clear
reloadcfg '重新读取配置listview的内容

end if

end sub

加分哦!本回答被提问者和网友采纳

以上是关于word 替换功能的主要内容,如果未能解决你的问题,请参考以下文章

如何用VBA实现WORD批量替换?

Java Word中的文本图片替换功能

Java Word中的文本图片替换功能

word 如何批量替换

Word文字如何批量替换图片与所有图片替换为文字

word替换图片(高手进)