我希望能得到程序员的帮助。
我想要做的是翻译由软件生成的单词报告,所以我转向了宏。我已经有一个包含原始单词/短语和翻译单词的单词文件。
我偷了'从网上论坛翻译的代码,这对普通文本效果很好。我的问题是我要翻译的报告文本在各种“文本框”和“表格”中。
我能够手动删除表格,但保留文字。这完全破坏了格式化,但我可以处理后者。 现在,遗憾的是我不能对文本框做同样的事情。文本框中没有“删除,但保留文本”功能。
我可以发送宏代码,由软件和文件自动生成的原始报告,以获取所有翻译过的单词。
我非常感谢你的时间。
答案 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