Replace 查找文本框和表格中包含的替换文本

Replace 查找文本框和表格中包含的替换文本,replace,macros,textbox,translate,Replace,Macros,Textbox,Translate,我希望我能得到程序员的帮助 我想做的是翻译一个由软件生成的word报告,所以我转向了宏。我已经有一个word文件,其中包含原始单词/短语和翻译的单词/短语 我“偷”了一些在线论坛的代码来翻译,这对普通文本非常有效。我的问题是,我要翻译的报告文本位于各种文本框和表格中 我可以手动删除表格,但保留文本。这完全破坏了格式,但我可以处理后者。 现在,不幸的是,我不能对文本框做同样的事情。没有“删除”,但保留文本框的文本功能 我可以向您发送宏代码、由软件自动生成的原始报告以及从中获取所有翻译单词的文件 非

我希望我能得到程序员的帮助

我想做的是翻译一个由软件生成的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

请这样做:提供宏代码和示例数据。当然,您窃取并将粘贴到此处的代码必须是免费的,以便重用。