powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Знак переноса в TextBox на UserForm
10 сообщений из 10, страница 1 из 1
Знак переноса в TextBox на UserForm
    #36534376
DMK67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пользователь вводит в TextBox на форме текстовые данные.
Периодически хочется нажать Enter для того чтобы перейти на новую строку...

Как это можно сделать?

PS/ Я проверил- в VBE можно вводить текст с переносами, если его предварительно сгененрировать в Excel или txt-файле. И на кнопки и в Label и в TextBox.
...
Рейтинг: 0 / 0
Знак переноса в TextBox на UserForm
    #36534577
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DMK67,

1. Установить св-во текстбокса MultiLine в True
2.
Код: plaintext
1.
2.
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode =  13  Then TextBox1 = TextBox1 & vbCrLf
End Sub
...
Рейтинг: 0 / 0
Знак переноса в TextBox на UserForm
    #36535318
Wasilich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vlthDMK67,

1. Установить св-во текстбокса MultiLine в True
2.
Код: plaintext
1.
2.
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode =  13  Then TextBox1 = TextBox1 & vbCrLf
End Sub

Чёй то не работает!
Я жму Ctrl+Enter.
...
Рейтинг: 0 / 0
Знак переноса в TextBox на UserForm
    #36535517
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wasilich, KeyCode = 13 соответствует клавише Enter, зачем сразу две нажимаете?
...
Рейтинг: 0 / 0
Знак переноса в TextBox на UserForm
    #36536204
Wasilich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vlthWasilich, KeyCode = 13 соответствует клавише Enter, зачем сразу две нажимаете?
Да я понимаю.
Для перехода на новую строку в TextBoxе, я жму Ctrl+Enter без макроса и всё ОК.
А вот макрос у меня не срабатывает.
И реакцию на ЕНТЕР возможно нужно так
If KeyCode = 13 Then Application.SendKeys "^{ENTER}"
Но я не стал заморачиваться и не проверял.
...
Рейтинг: 0 / 0
Знак переноса в TextBox на UserForm
    #36536380
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WasilichДля перехода на новую строку в TextBoxе, я жму Ctrl+Enter без макроса и всё ОК. Wasilich, это другой вариант решения вопроса, о котором я не знал. Мой код тогда вообще не нужен.
Но вот почему он у Вас не работает, не понятно.
...
Рейтинг: 0 / 0
Знак переноса в TextBox на UserForm
    #36546654
DMK67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обнаружил следующее:

Во всех контролах на форме должно быть выставлено значение свойства TabStop = False. А то когда нажимаешь на Enter, фокус наводится например на кнопку "Стереть" и при следующем нажатии на Enter все стирается.... Очень прикольно...

Что касается ниже привененной конструкции, то когда начинаешь что то править в середине текста, то перенос вставляется в низ текста... ПОлучается что эта конструкция годится только при первоначальном вводе.

Код: plaintext
1.
2.
3.
'Обеспечение переноса в текстбоксе
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode =  13  Then Me.TextBox1 = TextBox1 & vbCrLf
End Sub

У меня без проблем, когда я выставил все свойства TabStop = False, начала срабатывать комбинация Ctrl-Enter, в том числе и в середине текста...

Как бы превратить событие нажатия Enter в имитацию комбинации Ctrl-Enter?
...
Рейтинг: 0 / 0
Знак переноса в TextBox на UserForm
    #36546904
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DMK67, проверил Rich TextBox Control (richtx32.ocx): он ведёт себя так, как Вы и хотите. Причём без каких-либо дополнительных ухищрений и переключения св-ва TabStop других контролов в False.
...
Рейтинг: 0 / 0
Знак переноса в TextBox на UserForm
    #36546980
DMK67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что касается Rich TextBox Control - он есть не на каждой машине и распространение приложения затрудняется...

Не могу понять что сделал неправильно Вроде и события отключил...Начинаю вводить Enter на форме и все подвисает с одновременной генерацией кучи переносов в TextBox1

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub ВВОД_Enter()
Application.EnableEvents = False
SendKeys "^{ENTER}"
Application.EnableEvents = True
End Sub

''Обеспечение переноса в текстбоксе
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

If KeyCode =  13  Then
ВВОД_Enter
End If

End Sub
...
Рейтинг: 0 / 0
Знак переноса в TextBox на UserForm
    #36547669
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DMK67, обработку каких событий Вы хотите отключить с помощью переключения Application.EnableEvents = False ? - дело, скорее всего в том, что на события формы и её элементов EnableEvents не влияет.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Знак переноса в TextBox на UserForm
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]