Чтение онлайн

на главную - закладки

Жанры

Офисное программирование
Шрифт:

Function StartDrag([Effect As fmDropEffect]) As

fmDropEffect

Эта функция обычно вызывается в операторе присваивания вида:

ResultEffect=объект. StartDrag([effect as fmDropEffect])

Необязательный параметр Effect и результат выполнения функции принадлежат перечислению fmDropEffect. Константы, входящие в это перечисление, имеют следующие значения:

fmDropEffectNone = 0 – не копировать и не передвигать опущенный исходный элемент на место назначения;

fmDropEffectCopy =1 – копировать опущенный исходный элемент на место назначения;

fmDropEffectMove = 2 –

передвинуть опущенный исходный элемент на место назначения;

fmDropEffectCopyOrMove = 3 – скопировать или передвинуть опущенный исходный элемент на место назначения.

Параметр Effect задает цель операции и имеет по умолчанию значение 1 (fmDropEffectCopy). Обычно он опускается, поскольку значение по умолчанию задает наиболее вероятную цель операции. Значение, возвращаемое методом StartDrag, определяет результат выполнения операции. Его можно использовать для анализа того, что же произошло в результате перетаскивания на самом деле. Между запуском метода StartDrag в правой части оператора присваивания и присваиванием результата левой части переменной ResultEffect в процессе перемещения объекта происходит много событий. Работают обработчики этих событий, и результат говорит о том, как закончился этот процесс.

Технология выполнения

1. Активизируйте приложение Word и сохраните документ.

2. Перейдите в редактор VBA и создайте форму (рис. 59).

3. Создайте обработчик события Initialize для диалогового окна, обеспечивающего инициализацию начального состояния:

Private Sub UserForm_Initialize

With Me.ListBox1

AddItem «январь»

AddItem «февраль»

AddItem «март»

AddItem «апрель»

AddItem «май»

AddItem «июнь»

AddItem «июль»

AddItem «август»

AddItem «сентябрь»

AddItem «октябрь»

AddItem «ноябрь»

AddItem «декабрь»

End With

End Sub

4. В результате инициализируется список «Месяц года», имеющий имя ListBox1. Готовясь перетащить этот элемент в другое место, пользователь выбирает элемент этого списка. Затем он нажимает левую клавишу мыши, и у списка возникает событие MouseMove, обработчик которого имеет много параметров. Приведем текст этого обработчика:

Private Sub ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

Dim MyDataObject As DataObject

Dim Msg As String

Msg = «Видимо, Вы уронили месяц при перетаскивании. Повторите операцию!»

If Button = 1 Then

Debug.Print «MouseMove»

Set MyDataObject = New DataObject

Dim Effect As Integer

MyDataObject.SetText ListBox1.Value

Effect = MyDataObject.StartDrag(fmDropEffectCopy)

If Effect = 0 Then MsgBox (Msg)

Debug.Print "Effect = ", Effect

End If

End Sub

5. Откомпилируйте программу и запустите форму на выполнение.

Дополнительные элементы управления

В VBA, кроме перечисленных стандартных элементов управления, имеется ряд дополнительных. Дополнительные элементы управления являются самостоятельными объектами, обладающими как общими для всех элементов управления свойствами и методами, так и присущими только им свойствами и методами. Для добавления дополнительных элементов управления на панель элементов необходимо:

1) выбрать команду Сервис + Дополнительные элементы (Tools + Additional Controls);

2) в появившемся на экране окне Дополнительные элементы (Additional Controls) (рис. 62) в списке Доступные элементы (Available Controls)

установить флажок напротив добавляемого элемента;

3) нажать кнопку ОК.

Удаление ненужного элемента управления из панели элементов происходит аналогично добавлению, только флажок снимают.

< image l:href="#"/>

Рис. 62. Окно добавления дополнительных элементов

Среди дополнительных элементов управления очень полезным является элемент управления Calendar (календарь) (рис. 63). Этот объект представляет средство для организации удобного интерфейса по вводу дат. Элемент управления конструируется в форме с помощью кнопки Календарь (Calendar).

Рис. 63. Элемент управления calendar, расположенный на форме

Перечислим основные свойства элемента управления Calendar (табл. 14).

Таблица 14

Свойства Calendar

Перечислим основные методы элемента управления Calendar (табл. 15).

Таблица 15

Методы Calendar

В качестве примера использования календаря приведем следующую процедуру, которая считывает из календаря выбранную дату и вводит ее в ячейку рабочего листа:

Private Sub Calendar1_Click

Cells(1, 1).Value = Calendar1.Value

End Sub

Часть II

Программирование на VBA в Word

Глава 5

Вывод текста в документ Word

5.1. Основные объекты Word

Объект Word.Application

Дополнительно ко всем возможностям программирования на VBA, рассмотренным в части I, можно добавить возможности вывода всех результатов вычислений, преобразований, сообщений в документ Word, с возможностью дальнейшего отправления на печать. Для этого необходимо рассмотреть основные объекты приложения Word.

Ключевым в объектной модели Word является объект Application, так как он содержит все остальные объекты Word. Его элементами на разных уровнях иерархии являются около 180 объектов. Сам корневой объект Application имеет более сотни элементов: свойств, методов и событий.

Свойства объекта Word.Application

Свойства любого объекта делятся на две группы: свойства-участники (объекты) и терминальные свойства (обычные переменные VBA).

Единую систему организации панелей меню и инструментальных кнопок обеспечивает объект CommandBars, справок – Assistant, поиска – FileSearch.

Поделиться:
Популярные книги

Локки 5. Потомок бога

Решетов Евгений Валерьевич
5. Локки
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Локки 5. Потомок бога

Запечатанный во тьме. Том 3

NikL
3. Хроники Арнея
Фантастика:
уся
эпическая фантастика
фэнтези
5.00
рейтинг книги
Запечатанный во тьме. Том 3

Кодекс Охотника. Книга ХХХ

Винокуров Юрий
30. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга ХХХ

Красноармеец

Поселягин Владимир Геннадьевич
1. Красноармеец
Фантастика:
боевая фантастика
попаданцы
4.60
рейтинг книги
Красноармеец

Кодекс Охотника. Книга XXIX

Винокуров Юрий
29. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга XXIX

Геном хищника. Книга третья

Гарцевич Евгений Александрович
3. Я - Легенда!
Фантастика:
боевая фантастика
рпг
попаданцы
5.00
рейтинг книги
Геном хищника. Книга третья

Я - злодейка в дораме. Сезон второй

Вострова Екатерина
2. Выжить в дораме
Фантастика:
уся
фэнтези
сянься
попаданцы
5.00
рейтинг книги
Я - злодейка в дораме. Сезон второй

Кодекс Охотника. Книга XXXVIII

Винокуров Юрий
38. Кодекс Охотника
Фантастика:
фэнтези
боевая фантастика
попаданцы
юмористическое фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга XXXVIII

Последний Герой. Том 1

Дамиров Рафаэль
1. Последний герой
Фантастика:
попаданцы
альтернативная история
фантастика: прочее
5.00
рейтинг книги
Последний Герой. Том 1

Афганский рубеж

Дорин Михаил
1. Рубеж
Фантастика:
попаданцы
альтернативная история
7.50
рейтинг книги
Афганский рубеж

Найденыш

Шмаков Алексей Семенович
2. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Найденыш

Отряд

Валериев Игорь
5. Ермак
Фантастика:
альтернативная история
5.25
рейтинг книги
Отряд

1941, Великая Отечественная катастрофа: Итоги дискуссии

Коллектив авторов
Документальная литература:
военная документалистика
6.25
рейтинг книги
1941, Великая Отечественная катастрофа: Итоги дискуссии

Газлайтер. Том 12

Володин Григорий Григорьевич
12. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 12