GSerg » 04.07.2005 (Пн) 12:50
- Код: Выделить всё
Public Function Merge(ByVal d1 As Document, ByVal from1 As Long, ByVal to1 As Long, ByVal d2 As Document, ByVal from2 As Long, ByVal to2 As Long) As Document
Set Merge = Application.Documents.Add
GetPages(d1, from1, to1).Copy
Merge.Range.Collapse(wdCollapseEnd).Paste
GetPages(d2, from2, to2).Copy
Merge.Range.Collapse(wdCollapseEnd).Paste
End Function
Public Function GetPages(ByVal d As Document, ByVal ffrom As Long, ByVal tto As Long) As Range
Dim p As Long
p = d.ComputeStatistics(wdStatisticPages)
If ffrom >= p Then
If tto < p Then
Set GetPages = d.Range(d.GoTo(wdGoToPage, wdGoToAbsolute, ffrom).Start, d.GoTo(wdGoToPage, wdGoToAbsolute, tto + 1).Start - 1)
Else
Set GetPages = d.Range(d.GoTo(wdGoToPage, wdGoToAbsolute, ffrom).Start, d.Range.End)
End If
End If
End Function
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас