Приложение, которое я поддерживаю, создает объединенный документ Word, копируя несколько документов Word в один документ сразу за другим.
Проблема заключается в том, что формат некоторых полей добавляемого документа изменяется в объединенном документе, а объединенный документ является копией AppendDocument
(представьте, если у нас есть один документ для копирования в объединенном документе)
Первая и вторая строки документа Word выглядят следующим образом:
От: Мистер х До: Гэри Y
Адрес: NorkYork Дата: 2010/05/01
От: , До: , Адрес: и Дата: выделены жирным шрифтом и размером 10 в AppendDocument
в то время как в в объединенном документе они выделены жирным шрифтом, но их размер изменился на 12!
Я запутался, я не уверен, почему размер этих 4 элементов изменяется, даже если их фактические значения имеют одинаковый размер!
Пожалуйста, смотрите код ниже, по которому передаются 2 пути документов. Первый - это BaseDocuemnt
или объединенный документ, а второй - это прилагаемый документ.
Private Sub DocumentAppend(ByVal strBaseDocument As String, ByVal strAppendDocument As String)
Dim FirstDocument As Boolean
Dim fleBaseDocument As File
Dim wrdRange As Word.Range
Dim wrdAppendDocument As Word.DocumentClass
wrdAppendDocument = New Word.DocumentClass()
Dim AmalgamatedDocument As Word.DocumentClass
AmalgamatedDocument = New Word.DocumentClass()
Dim wrdApp As Word.ApplicationClass
wrdApp = AmalgamatedDocument.Application
Dim AmalgamatedDocumentRange As Word.Range
Try
wrdApp.Visible = True
If fleBaseDocument.Exists(strBaseDocument) Then
FirstDocument = False
AmalgamatedDocument = wrdApp.Documents.Open(strBaseDocument)
Else
FirstDocument = True
AmalgamatedDocument = wrdApp.Documents.Add()
End If
AmalgamatedDocumentRange = AmalgamatedDocument.Content
AmalgamatedDocumentRange.Collapse(Word.WdCollapseDirection.wdCollapseEnd)
If Not FirstDocument Then
AmalgamatedDocumentRange.InsertBreak (Word.WdBreakType.wdSectionBreakNextPage)
End If
''# get the document to be appended
wrdAppendDocument = wrdApp.Documents.Open(strAppendDocument)
wrdAppendDocument.Activate()
wrdAppendDocument.Select()
''# +++++++++++++++++++++++
wrdApp.Selection.Copy()
wrdApp.Selection.CopyFormat()
AmalgamatedDocument.Activate()
wrdRange = AmalgamatedDocument.Content
wrdRange.Collapse(Word.WdCollapseDirection.wdCollapseEnd)
wrdRange.Paste()
''# New
wrdApp.Selection.PasteFormat()
''# +++++++++++++++++++++++
wrdAppendDocument.Close()
''# save the new document
AmalgamatedDocument.SaveAs(FileName:=strBaseDocument)
AmalgamatedDocument.Close()
End Sub
Любой совет будет с благодарностью!