Макрос копирования содержимого объектов textbox или combobox в буфер обмена

Макрос копирования содержимого объектов textbox или combobox в буфер обмена.

Порой для копирования информации в программе «Excel» недостаточно воспользоваться пунктом контекстного меню «копировать» или сочетанием клавиш ctrl+C.
Необходим макрос, который после активации будет копировать содержимое элементов vba textbox или combobox для дальнейшего использования.
Написать такой макрос довольно просто. Занимает он всего 3-4 строчки кода.

Рассмотрим два способа копирования содержимого:

Первый способ прост, но не всегда работает. Суть данного способа копирования информации заключается в программном переносе курсора мыши в нужный элемент, например, textbox и активации сочетания клавиш на клавиатуре ctrl+A и ctrl+C.Ctrl+C копировать текст. макрос

Выглядит данный макрос следующим образом:

Private Sub CommandButton4_Click().

Me.TextBox1.SetFocus ‘ перенос курсора в textbox

VBA.SendKeys «^A», True ‘выделение всего текста в textbox активация клавиш ctrl+A.

VBA.SendKeys «^C», True ‘копирование выделенного текста, ctrl+C.

SendKeys «^V», True

End Sub

Работает он только при включенной латинской раскладке клавиатуры, поэтому требует программного перевода раскладки в режим «En.».

 

Второй способ прост и безотказен.
В этом способе для копирования используется оператор «Copy»Макрос копирования в буфер обмена

И макрос имеет вид:

Private Sub CommandButton4_Click()

TextBox1.SelStart = 0

TextBox1.SelLength = TextBox1.TextLength

TextBox1.Copy

End Sub

Какой из перечисленных способов окажется наиболее эффективен для решения Ваших задач, решать конечно же Вам.

Я протестировал оба и мне больше понравился второй вариант решения.

 

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *