Здравствуйте, уважаемые коллеги!
Проконсультируйте, пожалуйста вот по какой теме. Есть стороннее приложение (не из пакета MS Office) , запущенное одновременно с Excel. Из этого приложения копируется текстовая строка. Чтобы теперь вставить её в текстбокс на форме Excel, достаточно нажать Shift-Insert. А есть ли какая-то альтернатива? Например, сделать на форме кнопку "Вставить" с макросом.
На форуме нашёл только про DataObject, но в этом случае, насколько я понимаю, он не поможет.
Вставка текста в текстбокс из буфера - альтернатива Shift-Insert
Модератор: Naeel Maqsudov
- 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
Благодарности принимаются на кошелёк WebMoney: R318574877619 и Яндекс.Деньги: 41001335672216
Спасибо! Всё замечательно работает!