Подтвердить что ты не робот

Как создать область MS-Word-Form-Region, которая позволяет осуществлять надстройку?

Я хочу создать форму в Microsoft Word, которая довольно динамична и позволяет пользователю добавлять несколько регионов. Соответствующие данные содержат события, специфичные для даты, которые отсортированы по потоку. Если вы вставляете новое событие, оно должно появляться поверх списка регионов.

Насколько я знаю, вы можете вставлять только новые области в последний регион. Есть ли возможность изменить это ИЛИ мне нужно реализовать фрагмент с помощью Word-Macros, чтобы включить его?

EDIT (Curriculum Vitae - пример):

  • Начальная школа - 19xx - 19xx (я бы назвал эту строку "регионом" )
  • Колледж - 19xx - 19xx
  • '__' - Date1 - Date2 (+)

Итак, это отсортировано в порядке возрастания. НЕПРАВИЛЬНО! Если я нажимаю кнопку "+", под ней вставлена ​​новая область. Я хочу добиться чего-то подобного:

  • '__' - Date1 - Date2 (+)
  • Колледж - 19xx - 19xx
  • Начальная школа - 19xx - 19xx

Новая область автоматически вставлена.

4b9b3361

Ответ 1

Чтобы вставить новую область выше старой, это так же просто, как щелкнуть правой кнопкой мыши в существующей области и "Вставить элемент выше".

https://msdn.microsoft.com/EN-US/library/office/jj889465.aspx

Ответ 3

Метод VBA с помощью закладок:

  • Определите закладку, в которую вы хотите добавить новые тексты, например. после заголовка, но перед другими регионами.

  • Добавьте модуль кода VBA и введите следующий макрос:

    Option Explicit
    
    Sub AddNewLine(psText As String)
        '***** Go to bookmark
        Selection.GoTo What:=wdGoToBookmark, Name:="[NAMEOFBOOKMARK]"
        '***** Place cursor at end of bookmark
        Selection.Collapse Direction:=WdCollapseDirection.wdCollapseEnd
        '***** Add new line
        Selection.TypeParagraph
        '***** Add text or whatever
        Selection.TypeText psText
    End Sub
    
  • Замените строку Selection.TypeText psText на whaterver, которую вы хотите добавить - мой пример просто вводит текстовую строку из подпараметра.