Replace 查找文本框和表格中包含的替换文本
我希望我能得到程序员的帮助 我想做的是翻译一个由软件生成的word报告,所以我转向了宏。我已经有一个word文件,其中包含原始单词/短语和翻译的单词/短语 我“偷”了一些在线论坛的代码来翻译,这对普通文本非常有效。我的问题是,我要翻译的报告文本位于各种文本框和表格中 我可以手动删除表格,但保留文本。这完全破坏了格式,但我可以处理后者。 现在,不幸的是,我不能对文本框做同样的事情。没有“删除”,但保留文本框的文本功能 我可以向您发送宏代码、由软件自动生成的原始报告以及从中获取所有翻译单词的文件Replace 查找文本框和表格中包含的替换文本,replace,macros,textbox,translate,Replace,Macros,Textbox,Translate,我希望我能得到程序员的帮助 我想做的是翻译一个由软件生成的word报告,所以我转向了宏。我已经有一个word文件,其中包含原始单词/短语和翻译的单词/短语 我“偷”了一些在线论坛的代码来翻译,这对普通文本非常有效。我的问题是,我要翻译的报告文本位于各种文本框和表格中 我可以手动删除表格,但保留文本。这完全破坏了格式,但我可以处理后者。 现在,不幸的是,我不能对文本框做同样的事情。没有“删除”,但保留文本框的文本功能 我可以向您发送宏代码、由软件自动生成的原始报告以及从中获取所有翻译单词的文件 非
非常感谢您抽出时间。好的。这是翻译普通文本的代码
Sub Translate()
Dim oChanges As Document, oDoc As Document
Dim oTable As Table
Dim oRng As Range
Dim rFindText As Range, rReplacement As Range
Dim i As Long
Dim sFname As String
'Change the path in the line below to reflect the path of the table document
sFname = "C:\Users\user\Desktop\Dictionary.doc"
Set oDoc = ActiveDocument
Set oChanges = Documents.Open(FileName:=sFname, Visible:=False)
Set oTable = oChanges.Tables(1)
For i = 1 To oTable.Rows.Count
Set oRng = oDoc.Range
Set rFindText = oTable.Cell(i, 1).Range
rFindText.End = rFindText.End - 1
Set rReplacement = oTable.Cell(i, 2).Range
rReplacement.End = rReplacement.End - 1
With oRng.Find
.ClearFormatting
.Replacement.ClearFormatting
Do While .Execute(findText:=rFindText, _
MatchWholeWord:=True, _
MatchWildcards:=False, _
Forward:=True, _
Wrap:=wdFindContinue) = True
oRng.Text = rReplacement
Loop
End With
Next i
oChanges.Close wdDoNotSaveChanges
End Sub
我猜您需要查看正在翻译的文档的格式,其中包含所有表格和文本框。但是它太大了,我不确定我是否可以把它作为附件发送到这里。对不起,这是我第一次来这个论坛。有什么建议吗
非常感谢
JD请这样做:提供宏代码和示例数据。当然,您窃取并将粘贴到此处的代码必须是免费的,以便重用。