Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаба вба.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
347.65 Кб
Скачать

Порядок выполнения работы

  1. Изучите теоретическую часть работы.

  2. Добавьте модуль3 в проект для выполнения следующих функций автоматизации работы с документами:

  • Открыть документ с текстом (имя документа можно ввести с клавиатуры).

  • Вывести в окно сообщения информацию о количестве абзацев в документе.

  • Выделить с 1-го по 3-й абзацы и отформатировать их по своему усмотрению (использовать оператор With).

  • Поместить любое предложение документа в буфер обмена.

  • Добавить новый документ и вставить в любой абзац текст из буфера обмена, в строку состояния поместить текст – Новый документ, вывести сообщение о количестве открытых документов.

  • Сделать активным 1-й документ и вывести сообщение об имени активного документа.

  • Вставить перед любым абзацем произвольный текст. Присвоить объектной переменной ссылку на диапазон выделенной области. Вывести в окна сообщений информацию о номере вставленной строки, информацию о количестве выделенных символов.

  • Расширить диапазон выделенной области до абзаца, присвоить объектной переменной ссылку на этот диапазон.

  • Вставить выделенный диапазон в другое место документа, используя значение объектной переменной.

  • Закрыть окно активного документа.

  1. Добавьте модуль в проект для выполнения следующих функций автоматизации работы с таблицами:

  • Добавить новый документ в проект, используя объектную переменную.

  • Вставить таблицу произвольного размера с заголовком для таблицы в любое место документа. Размеры таблицы и номер абзаца для вставки таблицы, номер и заголовок таблицы вводить с клавиатуры.

  • Установить внешний контур таблицы толщиной в 1пт, тип линии – двойная.

  • Скопировать данную таблицу в буфер обмена.

  • Открыть указанный документ и вставить таблицу в конец документа.

  1. Запустите модули на выполнение и проверьте выполнение вышеперечисленных функций.

Содержание отчета

  1. Название работы и ее исполнитель.

  2. Цель работы.

  3. Краткое описание выполняемой работы

  4. Выводы.

  5. Приложения с листингом процедур и окнами результатов работы.

Контрольные вопросы

  1. Каким образом организованы объекты Word? Какие объекты вы знаете?

  2. Что понимается под экземпляром класса объектов, под семейством объектов? Как осуществляется обращение к объекту, входящему в семейство, к любому объекту?

  3. Какие свойства объектов Word вы знаете? Приведите примеры использования свойств.

  4. Какие методы объектов Word вы знаете? Приведите примеры использования методов.

  5. Что определяют аргументы методов объекта и, каким образом они задаются?

  6. Для чего используются объектные переменные? Почему их нельзя использовать в операторах сравнения?

Лабораторная работа №5 Программирование панели инструментов

Цель работы: изучить основные свойства и методы объекта CommandBar, семейства CommandBars и семейства CommandBarControls, научиться программировать собственные панели инструментов.

Общие положения

Программирование панелей инструментов позволяет создавать для приложений пользователя собственный интерфейс, добавляя в панель команды, часто используемые при работе с конкретными документами.

Для программирования строк меню и панелей инструментов используется объект CommandBar (панель команд) и семейство CommandBars. В семействе CommandBars хранятся все строки меню и панели инструментов конкретного приложения. В свою очередь каждый объект CommandBar содержит семейство CommandBarControls, состоящее из всех элементов управления данной панели инструментов. Элементы семейства CommandBarControls относятся к одному из трех типов (таблица 5.1) [3].

Таблица 5.1 – Типы элементов CommandBarControls

Объект

Описание

CommandBarButton

Кнопка или элемент меню, вызывающий выполнение команды или подпрограммы

CommandBarComboBoх

Сложно организованное меню, такие как поле ввода, раскрывающийся список или поле со списком

CommandBarPopUp

Меню или вложенное меню

Для создания новой панели команд (панели инструментов) и добавления ее в семейство CommandBars используется метод Add. Синтаксис: Add(Name, Position, MenuBar, Temporary), где:

  • Name – имя создаваемой панели команд;

  • Position - определяет местоположение панели команд, например, msoBarLeft – привязка строки меню к левой границе окна основного приложения; msoBarTop - привязка строки меню к верхней границе окна основного приложения; msoBarPopup- устанавливает, будет ли панель команд контекстным меню;

  • MenuBar – допустимые значения: True – панель команд заменяет активную строку меню; False – в противном случае;

  • Temporary - допустимые значения: True – панель команд удаляется при закрытии Word; False – в противном случае.

Для удаления панели команд используется метод Delete.

Видимость панели команд определяет свойство Visible. Например, скрыть панель инструментов Форматирование (Formatting) можно с помощью следующего оператора:

Application.CommandBars(“Formatting”).Visible = False

Для добавления нового элемента на панель инструментов или в меню (в семейство CommandBarControls) используется метод Add, его синтаксис: Add(Type, Id, Parameter, Before, Temporary), где:

  • Type – задает тип добавляемого элемента. Допустимые значения:

  • msoControlButton – кнопка или элемент меню;

  • msoControlEdit – поле ввода;

  • msoControlDropdown – раскрывающийся список;

  • msoControlComboBox – поле со списком;

  • msoControlPopup – вложенное меню;

  • Id – целое число, идентифицирующее встроенный элемент управления. Если Id равен 1 или опущен, то добавляется пустой элемент управления заданного типа;

  • Parameter – задает параметр, используемый встроенным элементом управления;

  • Before – индекс или имя элемента управления, перед которым добавляется новый элемент управления. Если аргумент опущен, то элемент размещается в конце панели инструментов или меню;

  • Temporary - допустимые значения: True – новый элемент управления удаляется из меню или панели инструментов при закрытии приложения; False – в противном случае.

Некторые свойства объекта CommandBarControl приведены в таблице 5.2.

Таблица 5.2 – Некоторые свойства объекта CommandBarControl

Свойство

Описание

Caption

Текстовая строка, отображаемая в заголовке

OnAction

Возвращает имя макроса, выполняемого при активизации элемента управления

Style

Только для объекта CommandBarButton. Устанавливает внешний вид кнопки, например, Style=msoButtonCaption, Caption=”название кнопки” – задается название кнопки

TooltipText

Текст, отображаемый в окне всплывающей подсказки

Visible

Устанавливает режим отображения (видимости)на экране кнопки

Enabled

Устанавливает, является ли допустимым выбранный элемент управления

Предположим, новая панель инструментов должна создаваться при открытии документа. В этом случае в Окне проекта необходимо выбрать объект ThisDocument и в Окне кода для объекта Document и события Open ввести код программы на создание новой панели инструментов. Пример создания панели инструментов пользователя приведены в листинге фрагмента программы на рисунке 5.1.

Private Sub Document_Open()

' При открытии документа панели инструментов Стандартная

' и Форматирование скрываются

With Application

.CommandBars("Standard").Visible = False

.CommandBars("Formatting").Visible = False

End With

' Создание новой панели иструментов с именем МояПанель,

' которая будет удаляться при закрытии приложения

With Application.CommandBars.Add(Name:="МояПанель", _

Position:=msoBarTop, MenuBar:=False, Temporary:=True)

.Visible = True

With .Controls

' Создание кнопки с рисунком на открытие документа

With .Add(Type:=msoControlButton, ID:=23)

.TooltipText = "Открытие документа"

.OnAction = "Кнопка1"

End With

' Создание кнопки с раскрывающемся списком

With .Add(Type:=msoControlDropdown)

.AddItem "Вставка таблицы", 1

.OnAction = "Кнопка2"

.TooltipText = "Работа с таблицами"

.AddItem "Копирование", 2

.ListIndex = 1

End With

' Создание кнопки с текстом

With .Add(Type:=msoControlButton, ID:=1)

.Caption = "Калькулятор"

.TooltipText = "Вызов программы-калькулятора"

.Style = msoButtonCaption

.OnAction = "Кнопка3"

End With

End With

End With

End Sub

Рисунок 5.1 – Листинг фрагмента программы

Предположим, что при нажатии на соответствующие кнопки панели инструментов, на экран будет выводиться сообщение о номере кнопки. Тексты процедур, введенные в Окне кода модуля, приведены на рисунке 5.2.

' Тексты процедур при активизации кнопок новой панели инструментов

Sub Кнопка1()

MsgBox "Была нажата Кнопка1"

End Sub

Sub Кнопка2()

Select Case Application.CommandBars ("МояПанель"). Controls(2). ListIndex

Case 1: MsgBox " Выбор кнопки Вставка таблицы "

Case 2: MsgBox " Выбор кнопки Копирование "

End Select

End Sub

Sub Кнопка3()

MsgBox "Выбор кнопки Калькулятор"

End Sub

Рисунок 5.2 – Процедуры для кнопок новой панели

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]