Вставка текста в текстбокс из буфера - альтернатива Shift-Insert

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Аватара пользователя
AlexZZZ
Сообщения: 237
Зарегистрирован: 01 июн 2007, 00:27
Откуда: Москва и область

Здравствуйте, уважаемые коллеги!

Проконсультируйте, пожалуйста вот по какой теме. Есть стороннее приложение (не из пакета MS Office) , запущенное одновременно с Excel. Из этого приложения копируется текстовая строка. Чтобы теперь вставить её в текстбокс на форме Excel, достаточно нажать Shift-Insert. А есть ли какая-то альтернатива? Например, сделать на форме кнопку "Вставить" с макросом.
На форуме нашёл только про DataObject, но в этом случае, насколько я понимаю, он не поможет.
Аватара пользователя
EducatedFool
Сообщения: 197
Зарегистрирован: 06 апр 2008, 14:03
Откуда: Россия, Урал
Контактная информация:

На форуме нашёл только про DataObject, но в этом случае, насколько я понимаю, он не поможет.
Ну почему же... ещё как поможет.

Вот примерный код для работы с буфером обмена:

Код: Выделить всё

' ============= работа с буфером обмена
Public Sub [B]SetClipboard[/B](Obj As Variant)
    Dim MyDataObj As New DataObject
    MyDataObj.SetText Format(Obj)
    MyDataObj.PutInClipboard
End Sub
Public Sub [B]SetTextIntoClipboard[/B](ByVal txt As String)
    Dim MyDataObj As New DataObject
    MyDataObj.SetText txt
    MyDataObj.PutInClipboard
End Sub
Public Function [B]GetClipboard[/B]() As Variant
    GetClipboard = "": On Error Resume Next
    Dim MyDataObj As New DataObject
    MyDataObj.GetFromClipboard: GetClipboard = MyDataObj.GetText()
End Function

Public Sub [B]ClearClipboard[/B]()
    Dim MyDataObj As New DataObject
    MyDataObj.SetText "": MyDataObj.PutInClipboard
End Sub
Ну а использовать это можно как-то так:

Код: Выделить всё

Private Sub CommandButton2_Click() ' кнопка "ВСТАВИТЬ ИЗ БУФЕРА ОБМЕНА"
    Me.TextBox1.Text = [B]GetClipboard[/B]
End Sub
Макросы для Excel, Word, CorelDRAW. Быстро, профессионально, недорого. http://ExcelVBA.ru/

Благодарности принимаются на кошелёк WebMoney: R318574877619 и Яндекс.Деньги: 41001335672216
Аватара пользователя
AlexZZZ
Сообщения: 237
Зарегистрирован: 01 июн 2007, 00:27
Откуда: Москва и область

Спасибо! Всё замечательно работает!
Ответить