VBA and Word

Программирование на Visual Basic for Applications
SergeySti
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 04.07.2005 (Пн) 12:22

VBA and Word

Сообщение SergeySti » 04.07.2005 (Пн) 12:28

Не мог бы кто-нибудь подсказать как решить следующую
проблему:
Есть 2(или более) вордовких файла.
Нужно написать макрос который выдрал бы из первого файла с i-й
по j-ю страницу, и из второго с n-й по m-ю и вставил их в 3-й
вновь сформированный файл.
Заранее спасибо.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение 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
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SergeySti
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 04.07.2005 (Пн) 12:22

Сообщение SergeySti » 05.07.2005 (Вт) 5:33

спасибо за помощь


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 99

    TopList  
cron