Основы офисного программирования и документы Word



              

Разделы и поддокументы - часть 3


Public Sub WorkWithSubDoc() 'Работа с поддокументами Dim DocPath As String Dim myr As Range 'Открываем и активизируем документ DocThree DocPath = Documents("DocOne").Path Documents.Open (DocPath & "\Docthree") Documents("Docthree").Activate With ActiveDocument Debug.Print "Число поддокументов =", .Subdocuments.Count If .Subdocuments.Count = 0 Then If .Sections.Count = 1 Then 'Выделение разделов WorkWithSections End If 'Выделение поддокумента, начиная с третьего раздела и до последнего Set myr = .Range(Start:=.Sections(3).Range.Start, _ End:=.Sections(.Sections.Count).Range.End) .Subdocuments.AddFromRange myr Debug.Print "Теперь число поддокументов =", .Subdocuments.Count End If End With

End Sub

Листинг 1.28.

Наш документ DocThree вначале не имел поддокументов. Этот документ предварительно разбивается на разделы, если это еще не было сделано, а затем в нем выделяется поддокумент, начиная с третьего раздела и кончая последним разделом документа. Метод AddFromRange класса SubDocuments создает поддокумент, выделяя из главного документа область, заданную параметром Range.

Заметьте, область, задаваемая параметром Range, должна начинаться с заголовка, имеющего один из стандартных стилей Heading. При сохранении документа, поддокумент удаляется из документа и сохраняется в отдельном файле. Имя файла строится автоматически, используя текст заголовка, начинающего поддокумент. В главном документе остается ссылка на поддокумент. При желании его всегда можно слить с главным, но с ним можно работать и как с независимым документом. Вот как выглядит наш главный документ после того, как в нем выделен поддокумент:

Главный документ с выделенным поддокументом

Рис. 1.9.  Главный документ с выделенным поддокументом




Содержание  Назад  Вперед