Excelにそれぞれ
- 項目A(A列)
- 項目B(B列)
- 項目C(C列)
- 項目D(D列)
- 項目E(E列)
のテーブルがあります。
これを項目C~EをKeyとして昇順にし、「項目C」と「項目D」と「項目E」の組合せが同じものが無いかチェックしたいです。
VB.NETのaspx.vbファイルで以下のようにソート処理を記述していますが上手く行きません。
WebブラウザでExcelファイルをアップロードファイルとして System.IO.FileStreamでReadWriteモードでオープンしてからExcelの中身を見ています。
シート保護がかかっており、処理の最初で解除もしています。
エラー内容「RangeクラスのSortメソッドが失敗しました」
VB.NET
1'変数宣言省略 2wkSheet = xlApp.wkBook.WorkSheets("データシート") 3With wkSheet 4 .Range("C:E").sort( 5 Key1:=.Range("C:C"),order1:=Excel.XlSortOrder.xlAscending, _ 6 Key2:=.Range("D:D"),order2:=Excel.XlSortOrder.xlAscending, _ 7 Key3:=.Range("E:E"),order3:=Excel.XlSortOrder.xlAscending, _ 8 Header:=Excel.XlYesNoGuess.xlYes, _ 9 MatchCase:=False ,_ 10 Orientation:=Excel.XlSortOrientation.xlSortRow) 11End With
また、ソートした後にExcelを閉じる際、保存処理をしなければ中身が変わることはないという認識でおりますが合っていますでしょうか?
バイナリオープンの仕方をするのも初めてでまだ良く分かっておりません。
問題の原因や解決できる記述を教えていただけたら助かります。
宜しくお願い致します。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/27 03:38