前几天的word替换问题解决了,附宏代码和方法以及新问题

gyk120 2016-08-01 01:54:21
前情提要
http://bbs.csdn.net/topics/391985595
本来都打算自己做一个COM的,后来发现VBA似乎可以满足我的需求,花了几天时间填了一个EXCEL列出了需要替换的文档
借用了一下前人的代码
Sub 按表替换()
'首先引用ms excel
'运行前关闭所有excel程序
Dim ex As Excel.Application, boo As Excel.Workbook, shee As Worksheet, i As Integer
Set ex = New Excel.Application
Set boo = ex.Workbooks.Open("E:\替换表.xls")
ex.Visible = False '设置EXCEL对象可见(或不可见)
Set shee = boo.Worksheets(1) '设置活动工作表
With shee
For i = 1 To .Range("b65536").End(xlUp).Row
ActiveDocument.Content.Find.Execute findtext:=.Range("a" & i), replacewith:=.Range("b" & i), Replace:=wdReplaceAll, Forward:=True '将excelA列替换为B列内容
Next
End With
boo.Close
ex.Quit
Set boo = Nothing
Set ex = Nothing
End Sub

运行的时候注意在Basic里面“工具“——引用里面勾选Excel Object library,否则宏没法运行
大体上是搞定了,后续还有些冲突需要慢慢调试,比如有些单词包括其他单词
例如banana=香蕉,翻译的时候会把an单独提出来翻译成“一个”,就变成了“b一个一个a”,不知道怎么解决,需要自己怎么样加个判断代码么?
...全文
1343 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
gyk120 2016-08-02
  • 打赏
  • 举报
回复
这个问题也解决了…… 改个参数就行 MatchWholeWord = True

6,216

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office应用
社区管理员
  • Microsoft Office应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧