Пример сортировки слов в строке visual basic
45. Пример сортировки слов в строке с использованием объектной модели MS Excel.
Sort Выстраивает данные в лексикографическом порядке по возрастанию или убыванию. Он осуществляет сортировку строк, списков и БД, а также столбцов рабочих листов с учетом до трех критериев сортировки. Имеет ряд параметров key1 – ссылка на первое упорядочиваемое поле; order1 – задает порядок сортировки (x1Ascending – по возрастанию, x1Descendng – по убыванию); key2, order2, key3, order3 – аналогично; header – определяет наличие в первой строке диапазона заголовка (x1Yes) или его отсутствие (x1No); matchCase – учитывает наличие регистра (True) или его отсутствие (False); orientation задает направление сортировки сверху вниз (xlTopToBottom) или слева направо (x1LeftToRight).
Пример. (Отсортировать слова в строке по возрастанию с учетом регистра.)
Dim s As String
Private Sub Command1_Click()
Const xlAscending = 1
Const xlDescending = 2
Const xlNo = 2
Const xlTopToBottom = 1
Dim ObjExcel As Object
‘Создаем объект OLE Automation и задаем свойства книги и листа
Set ObjExcel = CreateObject("Excel. Application")
With ObjExcel
.WorkBooks. Add
.ActiveSheet. Name = "Сортировка"
.Visible = False
.DisplayAlerts = False
End With
p = Split(s, ",") ‘Создаем массив слов из строки
n% = UBound(p)
For i% = 0 To n
ObjExcel. Cells(i + 1, 1) = p(i)
Next i
ObjExcel. Range("A1:A" & Trim(CStr(n + 1))).Sort key1:=ObjExcel. Range("A1"), order1:=xlAscending, Header:=xlNo, matchCase:=True, Orientation:=xlTopToBottom
s = ""
For i% = 1 To n + 1
p = ObjExcel. Cells(i, 1).Value
If i <> n + 1 Then
s = s & p & ","
Else
s = s & p
End If
Next i
Text2 = s
ObjExcel. Quit
Set ObjExcel = Nothing
End Sub
Private Sub Form_Load()
Caption = "Сортировка слов в строке"
Command1.Caption = "Sort"
Text1 = ""
Text2 = ""
‘Ввод исходной строки
s = InputBox("Строка", , "Маша, маша, мАша, МАША, маША, маШа, мАшА, мАША")
Text1 = s
End Sub
46. Пример вычисления корня нелинейного уравнения с использованием объектной модели MS Excel.
метод GoalSeek() позволяет применить автоподбор значений для функции Excel программным способом. На графическом экране то же самое можно сделать при помощи меню Сервис -> Подбор параметра.
Подбирает значение параметра (неизвестной величины), являющееся решением уравнения (ур-я) с одной переменной. Предполагается, что правая часть явл-ся постоянной, не зависящей от парамета, кот. Входит только в лев. часть ур-я. Имеет два параметра: goal – значение правой части ур-я; changingcell содержит ссылку на ячейку с изменяющимся значением (приближение к искомому корню).
Пример. (С помощью метода «Подбор параметра» определить корень нелинейного уравнения.)
Private Sub Command1_Click()
Dim Eque As String, bool As String, Approx As Double
Dim ObjExcel As Object
‘Создаем объект OLE Automation
Set ObjExcel = CreateObject("Excel. Application")
‘Задаем свойства рабочей книги и листа
With ObjExcel
.WorkBooks. Add
.ActiveSheet. Name = "Решение нелинейных уравнений"
.Visible = False
.DisplayAlerts = False ‘Запретить промежуточные диалоги
.MaxIterations = 10000 ‘Число итераций
.MaxChange = 0.00001 ‘Точность вычисления
End With
‘Считываем уравнение из поля Text1 и помещаем его в ячейку A2
Eque = "=" & Text1
ObjExcel. Range("A2").Value = Eque
‘Считываем начальное приближение к корню и помещаем его в A1
Approx = CDbl(Text2)
ObjExcel. Range("A1").Value = Approx
‘Присваиваем имя "X" ячейке A1, иначе в уравнении необходимо
‘использовать полную ссылку. Например, =0.5*A1^2-5*A1+8,
‘вместо общепринятой формы: =0.5*X^2-5*X+8
ObjExcel. Range("A1").Name = "X"
‘Объект GoalSeek вычисляет корень уравнения
‘Он возвращает True, если решение найдено.
bool = ObjExcel. Range("A2").GoalSeek(Goal:=0, _
ChangingCell:=ObjExcel. Range("X"))
‘ Вывод результата в текстовое поле
Text3 = ObjExcel. Range("A1").Value
ObjExcel. Quit ‘Закрываем Excel без сохранения
Set ObjExcel = Nothing ‘Удаление объекта
End Sub
Private Sub Form_Load()
Caption = "Пример на OLE Automation"
Command1.Caption = "Найти корень"
Text1 = ""
Text2 = ""
Text3 = ""
Text1.TabIndex = 0
End Sub
47. Свойства и методы объекта Chart объектной модели MS Excel. Пример.
MS Excel позволяет создавать высоко качественные диаграммы, основанные на большом спектре встроенных форматов. В Excel различают два вида размещения диаграмм – это внедренная на рабочий лист и созданная на специальном листе для диаграмм.
Доступ к диаграмме, внедренной на рабочем листе, осуществляется через объект ChartObject двух семейств WorkSheets. ChartObjects, а доступ к листам диаграмм – через объект Chart семейства Charts.
Перечислим основные свойства объекта Chart.
· ChartArea — представляет область, отведенную под диаграмму. Для двумерных диаграмм эта область включает заголовок диаграммы, легенду, оси и их заголовки, а для трехмерных — только заголовок диаграммы и легенду. Вложенные в ChartArea объекты: Border, Font, Interior, FillFormat позволяют задать границы области, используемый для подписей шрифт, формат заполнения, цвет, образец заполнения фона и другие характеристики. Терминальные свойства Height, Width, Left, Top задают границы области. Методы Select, Clear, Copy позволяют выделить область, очистить ее содержимое или поместить его в буфер.
· PlotArea — задает внутреннюю часть области диаграммы, отведенную непосредственно для графического отображения данных. Эту область окружает область объекта ChartArea. В область объекта PlotArea для двумерных диаграмм входят маркеры данных, линии сетки, линии тренда и те возможные элементы диаграммы, которые помещаются в ее область. Для трехмерных диаграмм к этой области относятся также оси и их заголовки, а также нижняя грань и боковые грани трехмерного куба, рисуемого для создания иллюзии трехмерного пространства. PlotArea имеет свойства и методы, сходные с объектом ChartArea.
· ChartTitle — является "полноценным" объектом. Помимо свойства Text, задающего текст заголовка диаграммы в него встроены собственные объекты: Border, Font, Interior, FillFormat. Кроме этого можно задать ориентацию заголовка, выравнивание, расположение. Есть даже собственные методы — Select и Delete.
Методы:
· Axes(Axis) — С осями диаграммы есть смысл разобраться подробнее. Во-первых, есть некоторая путаница в классификации — что есть Axes -метод или свойство? Будем считать, что есть и метод и свойство. Метод Axes(Type, AxisGroup) возвращает одну ось — объект Axis. Параметр Type имеет три значения: xlValue, xlCategory, или xlSeriesAxis (только для трехмерных диаграмм), указывающих, какая из трех возможных осей возвращается. Второй параметр — AxisGroup указывает, какая ось возвращается — основная или вспомогательная. Этот параметр имеет два значения: xlPrimary или xlSecondary. Для трехмерных диаграмм возможно использование только основных осей. Свойство Axes (или метод, вызываемый без параметров) возвращает коллекцию осей. Метод Item этой коллекции позволяет добраться до нужной оси. Пример работы с этим объектом был приведен. Замечу, что вспомогательные оси полезны, когда на диаграмме отображаются несколько рядов данных, имеющих разные масштабы. Соответствующий пример построения такой оси уже был приведен.
· SeriesCollection(Series) — коллекция рядов данных. Как обычно, параметр Index или метод Item позволяют добраться до элемента коллекции — объекта класса Series, представляющего конкретный ряд данных. Коллекция имеет следующие методы:
o Add, позволяющий добавить новый ряд данных,
o Extend, добавляющий новые точки в ряды данных коллекции,
o NewSeries, создающий новый ряд данных и возвращающий в качестве результата объект класса Series.
Конечно, непросто устроен и объект Series, задающий сам ряд данных. Его структура показана на рис. 3.19, а некоторые из основных его свойств были продемонстрированы в предыдущем примере.
Объекты, вложенные в Chart
Рис. 3.18. Структура объекта Chart
Рис. 3.19. Структура объектов ChartGroup и Series
Терминальные свойства объекта Chart
Таблица 3.8. Терминальные свойства объекта Chart Узнать стоимость за 15 минутРаспродажа дипломныхСкидка 30% по промокоду Diplom2020 Подпишись на наш паблик в ВКНужна работа?Написать контрольную работу у наших партнеров |