|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
是这样的,我用VBA编写了一个将Word中我所用到的常用中文单词替换成英文单词,例如“油漆”替换成“Paint”,我编写的代码如下(示例文档见附件)。
我发现在执行这个VBA代码时有比较奇怪的地方:比如附件中示例文档的第3页有个表格,表格中有需要替换的中文单词“油漆”。我采用了2种方式进行替换,一是先选中这个表格,然后运行宏;二是直接运行宏。我发现第二种方式的所需要的时间竟然比第一种方式要短。
可为什么会是这样的呢?按理说由于第一种方式预先选择了一个比较小的区域,所以替换速度应该更快才对啊,因为以第二种方式运行时宏时应该是全文替换。有高人可以解答原因吗?
翻译.zip
(26.26 KB, 下载次数: 10)
[code=vb]
Sub Translation()
Dim MyFind() As String, MyRep() As String, i As Integer
MyFind = Split("色浆,色漿,银浆,銀漿,金粉,色精,珠光粉,闪片,閃片,助剂,助劑,色粉,力架,溶剂,溶劑,开油水,開油水,油漆,(,),((,)), ", ",")
MyRep = Split(" Color Paste, Color Paste, Silver Paste, Silver Paste, Golden Powder, Color Concentrate, Pearl Pigment, Glitter, Glitter, Additive, Additive, Pigment, Lacquer, Solvent, Solvent, Thinner, Thinner, Paint,(,),(,), ", ",")
Application.ScreenUpdating = False
For i = 0 To UBound(MyFind)
Selection.Find.Execute findtext:=MyFind(i), replacewith:=MyRep(i), Replace:=2
Next
Application.ScreenUpdating = True
End Sub
[/code]
|
|