2009-07-24 7 views
0

У меня есть документ WORD с несколькими заголовками H1. Мне нужен макрос, который позволяет мне удалить все содержимое из определенного заголовка H1 до следующего заголовка H1 - по существу, удалить раздел H1. Аналогично, я могу удалить из заголовка H2 до следующего заголовка H1 или H2.Macro для удаления заголовков в Word

+0

Было ли действительно необходимо, чтобы название было вопросом? Вы могли бы использовать, я не знаю, Word Macro Help или что-то еще .... – MitMaro

+0

Готово. Именно здесь редактирование в SO пригодится. В противном случае SO мог быть легко усеян мусором, как другие сайты Q & A программирования. – Aamir

+0

Согласен, к сожалению, пока не могу редактировать. :П – MitMaro

ответ

0

Вы можете определить стиль абзаца, используя oParagraph.Style (где oParagraph - объект Paragraph). Итак, вы можете сделать что-то вроде:

Dim oStartHeadingParagraph As Paragraph 
Set oStartHeadingParagraph = Selection.Paragraphs(1) 

If oStartHeadingParagraph.Style <> "Heading 1" Then 
    MsgBox "Please select the Heading 1 paragraph for the section you want to delete." 
Else 

    Dim oParagraph As Paragraph 
    Set oParagraph = oStartHeadingParagraph 

    Do While Not oStartHeadingParagraph.Next Is Nothing 
     If oStartHeadingParagraph.Next.Style = "Heading 1" Then 
      Exit Do 
     Else 
      oStartHeadingParagraph.Next.Range.Delete 
     End If 
    Loop 

    oStartHeadingParagraph.Range.Delete 

End If 
0

Вам не нужен макрос: отредактируйте документ в режиме структуры. Перейдите туда и выберите только заголовки уровня 1, следующим образом:

View > Outline 

Далее выберите уровень:

Show Level > Level 1. 

Удалить только заголовки H1 вы больше не хотите сохранить. Вы можете перетащить & заголовки, и подчиненный контент будет следовать.

Это прекрасный вид для выполнения крупномасштабного редактирования по мере необходимости.

Смежные вопросы