ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2986|回复: 6

[求助]如何获取word替换记录?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2006-6-25 22:00 | 显示全部楼层 |阅读模式
我在编辑word文档时,要进行许多次不同的替换。如何在文件编辑结束后,获得一个替换列表(可为左右对应的两列词,格式如:“查找内容”制表符“替换内容”)——即所有单次替换的总记录?

TA的精华主题

TA的得分主题

发表于 2006-6-26 08:36 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

给你一个思路:用修改命令改editreplace,然后,自己做一个窗体,把相关的查找中的所有(或部分)功能整合到这个窗体上,再通过后面的静态变量数组,存储这个信息。然后,通过在查找的窗体上加二个按钮,一个复位数组,一个在文档结尾加上你要的结果。

到此为止,估计在200行的代码,自己写吧。不要指望别人噢。如果听的懂的话。

TA的精华主题

TA的得分主题

发表于 2006-6-26 19:07 | 显示全部楼层
我的思路是先把手动把文档设为修订状态,这样所有的替换都会被记录下来。(当然前提是只进行替换修改)
因为不同次的替换在时间上是不同的(除非你在1分钟内能完成2次替换操作)
这样我编一个宏,遍历所有的修订对象。
出错,要怎么改
Sub zxj1()
Dim pa As Revision, b As Variant, d(1, 1) As String
ReDim b(1, ActiveDocument.Revisions.Count)'先声明一个二维数组来存放替换的时间和“什么替换为什么”的字符串
i = 1 'i为下次存放时的列数(一行存放一个修订对象)
For Each a In ActiveDocument.Revisions '遍历所有的修订对象。
q = VBA.Cstr(a.Date)
    c = Filter(b, q)'这行出错,提示:数据类型不配,
'判断这次替换是否存入数组 (因为不同次的替换在时间上是不同的),如果没有存入,则存入
    If IsEmpty(c) Then
        b(0, i) = q
        e = a.Range.Text
        f = ActiveDocument.Range(a.Range.Start, a.Range.Start + 1)
        g = f & "替换为" & e
        b(1, i) = g
        i = i + 1
      
    End If
Next
MsgBox b(1, 1)
End Sub
[此贴子已经被作者于2006-6-26 20:24:02编辑过]

TA的精华主题

TA的得分主题

发表于 2006-6-26 20:07 | 显示全部楼层
直接在当前文档中使用修改WORD命令,即修改EDITREPLACE,将每次用户的替换后的内容写到文档变量或者新文档中,如果需要查看时,运行某个命令即可,总代码应该在50行以内。

TA的精华主题

TA的得分主题

发表于 2006-6-26 20:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

能帮我看看错在哪吗?虽然我这个方法有局限性。

TA的精华主题

TA的得分主题

发表于 2006-6-26 23:16 | 显示全部楼层
试一试附件中这个文档,不知是否符合要求
注意:在使用前先在word的默认目录下新建一个名为“替换”的文档
该文档的替换功能在菜单栏上(该替换功能只适用于该文档,如果要在所有文档上适用,请把该文档设为公共模板) Mi8n4Xel.rar (70.24 KB, 下载次数: 12)

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-7-8 11:02 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

多谢各位老师了,我是一个(CAT)计算机辅助翻译的受好者,但对于VBA实在是个门外汉。虽然了解了VBA功能之强大,但苦于无时间仔细研究,只能录制修改一些简单的文字编辑方面的宏,稍一复杂就不行了。

特别感谢鑫11兄提供的模板,但小弟仍未能正常使用,经过如下:

下载附件,解压,得到Doc6.doc,将其拷贝至my document下,改名为替换。

运行,出现出错对话框“溢出堆栈空间”,点确定,侧又出现一个显示乱码的出错对话框,再点确定,则word关闭。

不懂这是什么原因,鑫11兄能否再给予指点?先谢了。

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 18:30 , Processed in 0.031828 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表