查找 - 替换文本框和表格

时间:2015-10-08 13:08:29

标签: replace macros textbox translate

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

我想要做的是翻译由软件生成的单词报告,所以我转向了宏。我已经有一个包含原始单词/短语和翻译单词的单词文件。

我偷了'从网上论坛翻译的代码,这对普通文本效果很好。我的问题是我要翻译的报告文本在各种“文本框”和“表格”中。

我能够手动删除表格,但保留文字。这完全破坏了格式化,但我可以处理后者。 现在,遗憾的是我不能对文本框做同样的事情。文本框中没有“删除,但保留文本”功能。

我可以发送宏代码,由软件和文件自动生成的原始报告,以获取所有翻译过的单词。

我非常感谢你的时间。

1 个答案:

答案 0 :(得分:0)

确定。这是翻译普通文本的代码。

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