Основы офисного программирования и язык VBA


Объект DataObject - часть 2


Допустим, в диалоговом окне имеются два поля ввода TextIn и TextOut, командная кнопка CmbCopy и метка Lable1. Занесем при инициализации окна в поле TextIn текстовую информацию и инициализируем глобальные переменные:

Public NewData As DataObject Public NumClick As Integer

Private Sub UserForm_Initialize () Set NewData = New DataObject 'инициализация объекта NumClick = 0 'число щелчков TextIn. Text = "Пример переноса данных с помощью DataObject "

End Sub

При последовательных щелчках командной кнопки занесем содержимое поля TextIn в объект DataObject методом SetText, из него перенесем в буфер обмена с помощью PutInClipboard, а уже из него поместим в поле TextOut методом Paste. О выполнении очередной операции будет сообщать метка Label1.

Private Sub CmdCopy_Click () Select Case NumClick Case 0 NewData. SetText TextIn. Text Label1. Caption = "Из TextIn в DataObject" Case 1 NewData. PutInClipboard Label1. Caption = "Из DataObject в буфер обмена" Case 2 TextOut. Paste Label1. Caption = "Из буфера обмена в TextOut" End Select

NumClick = NumClick + 1 If NumClick = 3 Then NumClick = 0

End Sub

Разумеется, перенос информации из одного поля в другое можно было осуществить и через буфер обмена, минуя DataObject. Для копирования данных из поля ввода в буфер обмена можно вызвать метод Copy. Более важный метод этого объекта, инициирующий операцию перетаскивания, - StartDrag рассмотрим подробнее.




Начало  Назад  Вперед



Книжный магазин