У меня есть макрос Word VB, который автоматически вставляет чертеж Visio в макет из двух столбцов. Код работает хорошо, но я бы хотел еще больше автоматизировать процесс. Для этого я специально ищу код, который переместит курсор в конец первого столбца выбранной страницы. Обычно в этом столбце нет разрыва столбца, поэтому мое решение не может включать поиск разрывов столбцов. И я считаю, что у меня уже есть код, который выбирает текущую страницу, но не конец первого столбца на этой странице.
Я могу программно переместить курсор в конец страницы и могупрограммно переместить курсор на верх страницы. Я просто не могу заставить курсор переместиться в конец первого столбца текста. Все онлайн-примеры, которые я нашел до сих пор, сосредоточены на перемещении к концу столбца в таблице, но не к концу столбца текста в макете с двумя столбцами.
10/15/ 2019: Вот пример страницы, запрошенной @ cindym
[SamplePage] [1]
Документ может содержать несколько страниц. Мой текущий макрос работает хорошо и отвечает требованиям компании для такого типа документов, но он требует, чтобы пользователь поместил курсор туда, где он хочет вставить двухколоночную графику. Я хочу сделать процесс более автоматизированным (установите флажок «сверху» или «снизу» в существующей форме пользователя и сделайте так, чтобы макрос поместил фигуру в два столбца на текущей странице соответственно).
Опять же, я могу программнопросто переместите курсор в верхнюю или нижнюю часть страницы, я просто не могу перевести курсор в конец первого столбца (левый столбец на странице с двумя столбцами). Наш код вставляет непрерывные разрывы разделов и работает хорошо, если он может вставить первый из этих разрывов в конец левого столбца текста.
Частично основываясь на предложении CindyM, я попробовал следующее для двухКолонка Visio в нижней части текущей страницы, но после третьей строки кода все идет не так. Помимо этой первоначальной проблемы размещения курсора на основе VBA, остальная часть моего кода работает нормально (выбирает Visio, вставляет непрерывные разрывы, вставляет подпись к рисунку и т. Д.). Надеюсь, это поможет уточнить. Еще раз спасибо!
`ActiveDocument.Bookmarks("\Page") `Select selects current page`
Selection.GoToNext (wdGoToPage) `cursor at top of page 2`
Selection.MoveEnd wdCharacter, -1 `cursor now at end of target page`
Selection.MoveRight Unit:=wdItem `cursor now in headline, top of page :(`
Selection.MoveRight Unit:=wdItem
[1]: https://i.stack.imgur.com/OR7BF.png