Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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






Дата публикования: 2014-12-28; Прочитано: 196 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...