2016-09-02 64 views
0

我想在vb.net(Visual Studio)中的代碼內的Excel中排序範圍。錯誤消息說: 類型'System.Runtime.InteropServices .COMException'發生在Microsoft.VisualBasic.dll 附加信息:引用無效。Excel中的排序方法在vb.net

我想執行的代碼是:

With objExcelWb.Sheets("EXTRACTION_BREACHES") 
      .Range("A2:AW138").Sort(_ 
      Key1:= .Range("A2:A138"), _ 
      Order1:=Excel.XlSortOrder.xlAscending, _ 
      Type:=Excel.XlSortOn.xlSortOnValues, _ 
      DataOption1:=Excel.XlSortDataOption.xlSortNormal, _ 
      Header:=Excel.XlYesNoGuess.xlNo, _ 
      MatchCase:=False, _ 
      Orientation:=Excel.XlSortOrientation.xlSortColumns, _ 
      SortMethod:=Excel.XlSortMethod.xlPinYin) 
End With 
+0

這幾乎是相同的與互操作https://www.youtube.com/watch?v= apCt7Yj_AHo,http://www.dotnetperls.com/excel-vbnet,https://support.microsoft.com/en-us/kb/301982 – Slai

回答

0

我想

ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear 
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("D1"), _ 
    SortOn:=0, Order:=2, DataOption:=0 
With ActiveWorkbook.Worksheets("Sheet1").Sort 
    .SetRange Range("A2:S8") 
    .Header = 2 
    .MatchCase = False 
    .Orientation = 1 
    .SortMethod = 1 
    .Apply 
End With 
+0

這是在VBA中完成的方式。不幸的是,它在vb.net中沒有這種方式。你知道如何在vb.net中實現它嗎? – Celal

+0

您必須在vb.net項目中導入'Imports Microsoft.Office.Interop.Excel' –