Как запустить курсор после 3-го символа текстового поля в пользовательской форме - PullRequest
0 голосов
/ 15 апреля 2020

Я довольно новичок в VBA, поэтому любая помощь будет принята с благодарностью.

У меня есть пользовательская форма, которая содержит 3 метки и 3 текстовых поля. 2 из текстовых полей (включая первое, которое активируется при активации формы), пусты. Третий имеет 3 символа, предварительно заполненные в нем. Когда пользовательская форма запускается, я хотел бы заполнить первое текстовое поле как обычно, а затем, когда я вкладываю во второе текстовое поле, я бы хотел, чтобы курсор автоматически go заканчивал эти 3 буквы вместо выделения всего текста. коробка. Я оглянулся вокруг, но не могу найти ничего, что могло бы сделать это легко. Не могли бы вы дать мне знать, куда именно (в какой подпункт) ввести этот код?

Моя пользовательская форма называется 'GetBIInfo2', а мое текстовое поле называется 'NBIDText'

Спасибо!

Ответы [ 3 ]

2 голосов
/ 15 апреля 2020

Прямой подход - через свойство textbox'es .SelStart; возможно, вы могли бы вызвать его с помощью такой подпрограммы, как это:

2 голосов
/ 15 апреля 2020
  1. Выберите текстовое поле.
  2. Go для свойства (F4).
  3. Прокрутите, пока не найдете свойство EnterFieldBehavior.
  4. Измените его на 1 - FmEnterFieldBehaviorRecallSelection .
0 голосов
/ 15 апреля 2020

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

Dim finalString As String

finalString = TextBox1.Value & TextBox2.Value

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...