|
2008/11/04(Tue) 19:02:32 編集(投稿者) 2008/11/04(Tue) 19:01:49 編集(投稿者) ■No27366 (Jitta on the way さん) に返信 > ■No27364 (ando さん) に返信 >>2008/11/04(Tue) 18:17:18 編集(投稿者) >>2008/11/04(Tue) 17:53:28 編集(投稿者) >>2008/11/04(Tue) 17:48:21 編集(投稿者) >>2008/11/04(Tue) 17:47:05 編集(投稿者) >>2008/11/04(Tue) 17:46:49 編集(投稿者) >> >>VB.NETにてcells().Sort処理を行っていますが、 >>Excelプロセスが残ってしまいます。 >> >>Dim oExcel As New Microsoft.Office.Interop.Excel.Application >>Dim oBooks As Microsoft.Office.Interop.Excel.Workbooks >>Dim oBook As Microsoft.Office.Interop.Excel.Workbook >>Dim oShts As Microsoft.Office.Interop.Excel.Sheets >>Dim p_oSht As Microsoft.Office.Interop.Excel.Worksheet >> >>With oExcel >> oBooks = .Workbooks >> 'Excelブックを開く >> .DisplayAlerts = False >> oBook = oBooks.Open(Filename:=p_sExcelName, ReadOnly:=False, Notify:=False) >> oShts = oBook.Worksheets >> .DisplayAlerts = True >> End With >> >>p_oSht =DirectCast(oShts(1),Microsoft.Office.Interop.Excel.Worksheet) >> >>p_oSht.Cells(18, 1).Sort( _ >>Key1:=p_oSht.Cells(18, 9), _ >>Order1:=Microsoft.Office.Interop.Excel.XlSortOrder.xlAscending, _ >>Header:=Microsoft.Office.Interop.Excel.XlYesNoGuess.xlYes, _ >>SortMethod:=Microsoft.Office.Interop.Excel.XlSortMethod.xlPinYin) > > ここで、cells が残ってしまいますよね? 残らない方法はどのようにすればよいでしょうか? 試したのは、Rangeオブジェクトを用意して oRange = p_oSht.Cells oRange1 = oRange(18,1) oRange2 = oRange(18,9) oRange1.sort( _ Key1:=oRange2, _ Order1:=Microsoft.Office.Interop.Excel.XlSortOrder.xlAscending, _ Header:=Microsoft.Office.Interop.Excel.XlYesNoGuess.xlYes, _ SortMethod:=Microsoft.Office.Interop.Excel.XlSortMethod.xlPinYin)
上記、処理後に解放処理を行ったのですが うまくいきませんでした。。
|