Сортировка столбцов Excel по цвету ячейки не работает - PullRequest
0 голосов
/ 14 марта 2019

Это код, который я использую.Рабочая книга существует, и с этим нет проблем.Столбец I имеет розовый цвет, и его нужно отсортировать.Приведенный ниже код не имеет исключений при запуске, но он не сортирует столбец Excel.

Dim ws as Object = _
 GetWorksheet(handle, workbookname, worksheetname, False)

' Do we have a sheet?
sheetexists = ws IsNot Nothing
' No sheet? No entry.
If Not sheetexists Then Return

' Do we have a sheet?
sheetexists = ws IsNot Nothing
' No sheet? No entry.
If Not sheetexists Then Return

Try
    ws.Sort.SortFields.Clear()
    ws.Sort.SortFields.Add(ws.UsedRange.Columns("I"), _
    Excel.XlSortOn.xlSortOnCellColor, Excel.XlSortOrder.xlAscending, , _
    Excel.XlSortDataOption.xlSortNormal).SortOnValue.Color = Microsoft.Office.Interop.Excel.XlRgbColor.rgbPink

' Sort Column C by Yellow
'ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add(Range("C2"), _
'xlSortOnCellColor, xlAscending, , _
'xlSortNormal).SortOnValue.Color = RGB(255, 255, 0)
   ws.Sort.SortFields.Add(ws.UsedRange.Columns("I"), 
   Excel.XlSortOn.xlSortOnCellColor, Excel.XlSortOrder.xlAscending, 
   Type.Missing, Excel.XlSortDataOption.xlSortNormal)
'Dim sort = ws.Sort
ws.Sort.SetRange = ws.UsedRange
'ws.Sort.SortFields(0).SortOnValue.Color = Microsoft.Office.Interop.Excel.XlRgbColor.rgbPink
ws.Sort.Header = Excel.XlYesNoGuess.xlYes
ws.Sort.MatchCase = False
ws.Sort.Orientation = Microsoft.Office.Interop.Excel.XlSortOrientation.xlSortColumns
ws.Sort.SortMethod = Microsoft.Office.Interop.Excel.XlSortMethod.xlPinYin
ws.Sort.Apply()

Catch ex as Exception   
  Throw New Exception(ex.Message)   
End Try
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...