2015-10-07 5 views
0

Мне нужно прокрутить все заголовки в документе и добавить новый заголовок между заголовками 2 и заголовком 3. Все существующие заголовки - это Заголовок 1, и я знаю текст.Добавить и удалить заголовок между существующими заголовками

Мне нужно удалить заголовок-5.

Исходный файл содержит еще 30000 абзацев; используя старый метод занимает слишком много времени

for example here are the headings 
    1. Heading-1 
    2. Heading-2 
    3. Heading-3 
    4. Heading-4 
    5. Heading-5 
    6. Heading-6 

For P = 1 To ActiveDocument.Paragraphs.Count - 1 
    ptext=ActiveDocument.Paragraphs(p).text 
If Left(ActiveDocument.Paragraphs(P).Style, 9) = "Heading 1" Then 
      If InStr(1, ptext, "Heading-2") > 0 Then 
       ActiveDocument.Paragraphs.Add _ 
       Range:=ActiveDocument.Paragraphs(P).Range 
       Selection.MoveLeft Unit:=wdCharacter, Count:=1 
       Selection.TypeText Text:="Heading New"      
      End If   
    End If 
Next 

ответ

0

В этом случае записать макрос в Слово для следующих шагов: В диалоге поиска введите текст для «Heading-3», а затем нажмите кнопку " найти". Выбор должен перейти к Heading-3

Это даст вам базовый синтаксис для перехода к заголовку 3. Вы можете отредактировать его, чтобы удалить нужные вам параметры (вам нужен только текстовый поиск, действительно).

После поиска вы вставляете код, который создаст новый абзац с нужным текстом. Есть несколько способов сделать это, мои предпочтения:

Dim rng as Word.Range 
Set rng = Selection.Range 
rng.InsertBefore vbCr 'paragraph mark 
rng.Collapse wdCollapseStart 
rng.Text = "NEW STUFF"