powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Сортировка в Excel через OLE
7 сообщений из 7, страница 1 из 1
Сортировка в Excel через OLE
    #33478888
benzo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не очень хорошо знаком с 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
Сортировка в Excel через OLE
    #33479170
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри тему
http://www.sql.ru/forum/actualthread.aspx?tid=237435

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


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


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