|
Сортировка в Excel из 1С | ☑ | ||
---|---|---|---|---|
0
Victor111
02.04.15
✎
17:08
|
Есть макрос нужно адаптировать под 1с, сразу отсекается запуск готового макроса средствами 1С, так как макрос будет создаваться програмно в 1С.
Например : FileFormat:=xlExcel8 в 1с будет выглядеть Fileformat = -4143 ; Не пойму как выразить : SortOn:=xlSortOnValues Order:=xlAscending DataOption:=xlSortNormal |
|||
1
Victor111
02.04.15
✎
17:09
|
Сам макрос
Sub Для1С() ' ' Для1С Макрос ' ' Rows("2:4").Select Range("AO2").Activate Selection.AutoFilter Application.AddCustomList ListArray:=Array("52", "62") ActiveWorkbook.Worksheets("Входящий файл").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("Входящий файл").AutoFilter.Sort.SortFields.Add Key _ :=Range("B5:B115"), SortOn:=xlSortOnValues, Order:=xlAscending, _ CustomOrder:="52,62", DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Входящий файл").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub |
|||
2
b_ru
02.04.15
✎
17:14
|
открыть макрос в экселе, поставить точку останова, запустить, в отладчике глянуть значения всех интересующих констант.
|
|||
3
ДенисЧ
02.04.15
✎
17:16
|
Const xlSortOnValues = 0
Const xlAscending = 1 |
|||
4
ДенисЧ
02.04.15
✎
17:16
|
Const xlSortNormal = 0
|
|||
5
Victor111
02.04.15
✎
18:14
|
а как правильно вот этот кусок кода записать:
With ActiveWorkbook.Worksheets("Входящий Файл").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With я пробую вот так: Header = 1; MatchCase = Ложь; Orientation = 1; SortMethod = 1; Apply = 1; Excel.ActiveWorkbook.Worksheets("Входящий Файл").AutoFilter.Sort(Header,MatchCase,Orientation,SortMethod,Apply); ошипка {ОбщийМодуль.Сервер.Модуль(1293)}: Ошибка при вызове метода контекста (Sort) Excel.ActiveWorkbook.Worksheets("Входящий Файл").AutoFilter.Sort(Header,MatchCase,Orientation,SortMethod,Apply); по причине: Метод не найден |
|||
6
MiniMuk
02.04.15
✎
19:44
|
With ActiveWorkbook.Worksheets("Входящий Файл").AutoFilter.Sort
это вроде блок внутри которого он является действующим, как то так тоесть должно быть тото вроде
|
|||
7
Victor111
02.04.15
✎
21:48
|
(6) Все отлично заработало, спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |