Лекция: Пример сортировки слов в строке с использованием объектной модели 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


еще рефераты
Еще работы по информатике