Word 2007 VBA - Перейти к заполнению через макрос
-
28-09-2019 - |
Вопрос
ОК, поэтому я постоянно борется с Microsoft, когда я создаю несколько шаблонов для нескольких клиентов. Моя проблема заключается в том, что простые текстовые заполнители, разбросанные всеми вокруг документа, позволяет мне нажать вкладку, чтобы перейти к следующему заполнителю. Намного похоже на вкладку порядок в Visual Studio. Но для некоторой странной причины это не работает с богатыми текстовыми полями. И мне нужно использовать богатый текст для нескольких текстовых ящиков, потому что пользователь должен быть разрешен для изменения форматирования одного символа. Это невозможно с простыми текстовыми коробками.
Поэтому я думал, может ли это возможно использовать макросы? Например, если выбран TextBox Plactholder, и макрос работает, перейдите к следующему заполнителю?
Решение
Объекты Form / Textbox могут быть доступны через
ThisDocument.Shapes.Item(index)
и проверка возвращенной формы объекта для
theShape.Type = msoTextBox
Тем не менее, объекты формы будут возвращены в том, что они были созданы, а не их заказ на странице / документе. Чтобы найти «следующий» TextBox, вам, вероятно, придется вести список всех текстовых ящиков и расследовать их местоположение (.top, .left etc), чтобы найти правильный для перехода к:
theNextShape.Select