Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Структурные особенности Visual Basic.docx
Скачиваний:
44
Добавлен:
17.11.2019
Размер:
2.86 Mб
Скачать

39. Объектная модель ms Excel. Свойства, методы, события объекта WorkSheet

Свойство

Описание

ActiveCell

Возвращает активную ячейку рабочего листа

Visible

Если True то лист отбражается

WorkSheets

Возвращает семейство всех рабочих листов

Событие

Описание

Activate

Происходит при активации рабочего листа

Deactivate

Происходит, когда лист теряет фокус

Change

Происходит при изменениях на листе

Метод

Описание

Activate

Активизирует рабочий лист н-р WorkSheets("Лист 1").Activaite или WorkSheets(1).Activaite

Add

Создает новый лист для семейства Sheets н-р WorkSheets.Add

Protect Unprotect

Защищает рабочий лист от внесения изменений или снимает защиту н-р ActiveSheet.Project.Password:="Звезда"

Delete

Удаляет рабочий лист

40. Методы класса WorkSheetFunction объектной модели ms Excel. Пример на вычисление выражения.

Метод

Описание

Activate

Активизирует рабочий лист. Например, WorkSheets(“Лист1”).Activate или WorkSheets(1).Activate

Пример. В проекте VB вычислить выражение, используя офисное приложение MS Excel.VB имеет ограниченное количество стандартных функций, чего нельзя сказать об MS Excel. В MS Excel имеется специальный класс WorkSheetFunction, содержащий все функции, доступные через окно VBA, например, гиперболические и обратные функции, функции нахождения обратных и транспонированных матриц, получения случайных чисел различных законов распределения и т.д.

Private Sub Command1_Click()

Dim F As String, b As String, Res As Double, OE As Object

'СоздаемOLE -объект

Set OE = CreateObject("Excel.Application")

p# = OE.WorkSheetFunction.Pi 'Получаем значение числа π

'Преобразуем запятую у числа π в точку

s$ = Replace(CStr(p), ",", ".")

F = Text1 & "*" & s'вWindows XP

Res= OE.Evaluate(F)

Text2 = Res

OE.Quit

Set OE = Nothing'Удаление объекта

End Sub

Private Sub Form_Load()

Caption="Пример на OLE Automation":Text2 = ""

Command1.Caption = "Вычислить":Text1.TabIndex = 0

Text1 = "sinh(0.5*acos(0.7)-5*asin(0.8)+8)"'исходное выражение

End Sub

41. Пример использования объекта SpreadSheet в проектах vb.

др.способ решения примера заключается в исп-ии в проекте VB дополнительного компонента SpreadSheet,находящегося в контейнере компонента MS Office Web

Components 11.0 загружаемого на панель ToolBox клмандой Project\Components/

Private Sub Command1_Click() Видимость объекта на форме

SpreadSheet1.Visible=Not SpreadSheet1.visible

End Sub

Private Sub Command2_Click() Вычисление выражения sinh(0.5*acos(0.7)-5*asin(0.8)+8) считывание выражения

Выражение$=SpreadSheet1.ActiveCell.Value Вычисление выражения

Result=SpreadSheet1.Evaluate(Выражение) Определение адреса ячейки ниже активной

AddrRes=SpreadSheet1.ActiveCell.Offset(1,0).Address Вывод строки

SpreadSheet1.Range(AddRes).Value="Результат=" Определение адреса ячейки ниже и правее активной

AddrRes=SpreadSheet1.ActiveCell.Offset(1,1).Address Вывод результата

SpreadSheet1.Range(AddrRes).Value=Result

End Sub