Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Сортировка в Excel через OLE / 7 сообщений из 7, страница 1 из 1
12.01.2006, 13:26
    #33478888
benzo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в Excel через OLE
Не очень хорошо знаком с Visual Basic. Но методом проб и экспериментов в самом Excel увидел, что макрос для сортировки диапозона ячеек вот такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
Sub Macros1()

    Range("A18:H37").Select
    Selection.Sort Key1:=Range("H18"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:= 1 , MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub


Перенести самым простым образом в PowerBuilder:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 
OLEObject xls_range_begin


xls_range_begin = xls.range("H18").Select
xls.range("H18:H37").Select
//xls.Selection.Sort(xls_range_begin, "xlAscending","xlGuess","1", "FALSE", "xlTopToBottom", "xlSortNormal")
xls.Selection.Sort(xls_range_begin) 


Но почему-то не сортируются ((
В чем я не прав?
...
Рейтинг: 0 / 0
12.01.2006, 14:42
    #33479170
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в Excel через OLE
Посмотри тему
http://www.sql.ru/forum/actualthread.aspx?tid=237435

Неправильный вызов функции, поэтому и не сортируются
...
Рейтинг: 0 / 0
12.01.2006, 15:23
    #33479296
benzo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в Excel через OLE
Я, к сожалению, все равно не понимаю, на что Вы указываете.
Сначала я выбрал текущий лист.
xls.Sheets("ïðèëîæåíèå19").Select
А потом уже идет вызов Sort, описанный выше.
...
Рейтинг: 0 / 0
12.01.2006, 17:19
    #33479712
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в Excel через OLE
У меня все работает:
Код: plaintext
1.
ole_sheet.Range("B1:B3").Sort(ole_sheet.Range("B1"))
...
Рейтинг: 0 / 0
16.01.2006, 16:43
    #33485511
benzo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в Excel через OLE
Anatoly MoskovskyУ меня все работает:
Код: plaintext
1.
ole_sheet.Range("B1:B3").Sort(ole_sheet.Range("B1"))


ole_sheet в данном случае выбранный лист excel'я ? То есть xls.Sheets("some_sheets").Select ?
...
Рейтинг: 0 / 0
16.01.2006, 17:04
    #33485545
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в Excel через OLE
benzoole_sheet в данном случае выбранный лист excel'я ? То есть xls.Sheets("some_sheets").Select ?
Код: plaintext
ole_sheet = ole_book.application.ActiveWorkBook.worksheets( 1 )
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
04.09.2008, 14:24
    #35522533
Anastasia1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в Excel через OLE
А если требуется по нескольким полям отсортировать, тогда как?
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Сортировка в Excel через OLE / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]