Поделиться через


Объект StoryRanges (Word)

Коллекция объектов Range , представляющих истории в документе.

Замечания

Используйте свойство StoryRanges , чтобы вернуть коллекцию StoryRanges . В следующем примере форматирование символов вручную удаляется из текста во всех статьях, отличных от основного текста в активном документе.

For Each aStory In ActiveDocument.StoryRanges 
 If aStory.StoryType <> wdMainTextStory Then aStory.Font.Reset 
Next aStory

Метод Add недоступен для коллекции StoryRanges . Количество историй в коллекции StoryRanges является конечным.

Используйте StoryRanges (Index), где Index является константой WdStoryType , чтобы вернуть одну историю в качестве объекта Range . В следующем примере текст добавляется в основную историю заголовка, а затем отображается текст.

ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range _ 
 .Text = "Header text" 
MsgBox ActiveDocument.StoryRanges(wdPrimaryHeaderStory).Text

В следующем примере текст сносок из активного документа копируется в новый документ.

If ActiveDocument.Footnotes.Count >= 1 Then 
 ActiveDocument.StoryRanges(wdFootnotesStory).Copy 
 Documents.Add.Content.Paste 
End If

При попытке вернуть историю, которая недоступна в указанном документе, возникает ошибка. В следующем примере определяется доступность сноски в активном документе.

On Error GoTo errhandler 
Set MyRange = ActiveDocument.StoryRanges(wdFootnotesStory) 
errhandler: 
If Err = 5941 Then MsgBox "The footnotes story is not available."

Используйте свойство NextStoryRange для циклического просмотра всех историй в документе. В следующем примере выполняется поиск текста "Microsoft Word" для каждой истории в активном документе. При обнаружении текста он отформатируется как курсив.

For Each myStoryRange In ActiveDocument.StoryRanges 
 myStoryRange.Find.Execute _ 
 FindText:="Microsoft Word", Forward:=True 
 While myStoryRange.Find.Found 
 myStoryRange.Italic = True 
 myStoryRange.Find.Execute _ 
 FindText:="Microsoft Word", Forward:=True 
 Wend 
 While Not (myStoryRange.NextStoryRange Is Nothing) 
 Set myStoryRange = myStoryRange.NextStoryRange 
 myStoryRange.Find.Execute _ 
 FindText:="Microsoft Word", Forward:=True 
 While myStoryRange.Find.Found 
 myStoryRange.Italic = True 
 myStoryRange.Find.Execute _ 
 FindText:="Microsoft Word", Forward:=True 
 Wend 
 Wend 
Next myStoryRange

Методы

Имя
Элемент

Свойства

Имя
Application
Count
Creator
Parent

См. также

Справочник по объектной модели Word

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.