タイトル | : VB6でEXCELのソート |
記事No | : 14301 |
投稿日 | : 2009/11/26(Thu) 21:36 |
投稿者 | : 困った人 |
VB6でEXCELオブジェクトを使用して一旦できたファイルの整形を おこなっております。 その際にソートもいれようと思ったのですが、EXCELオブジェクトで どのように作っていいかわからなかったので、あるEXCELで マクロの記録を使ってソートのマクロを記録で作り以下のように (下記の)START,ENDのところのようににコピペしたところ、1回目はうまく いきますが、2回目以降はCellsメソッドは失敗しました。 というエラーがでます。 このエラーをおこさずに何度でもリトライできる方法を教えてください。 目的は、簡単に3,4,5列目を簡単にソートしたいだけです。2行目から。
環境 VB6(SP6) OS WIN XP 備考 参照設定 EXCEL 11object liblaly <以下PG>
Private Function SetExcelLayout_umpn() As Boolean Dim objExcel As Object Dim objBook As Object On Error GoTo Err_SetExcelLayout_umpn SetExcelLayout_umpn = False
'Excelを起動 Set objExcel = CreateObject("Excel.Application") Set objBook = objExcel.Workbooks.Open(txtExcelPath.Text) With objBook.Sheets(objBook.Sheets(1).Name) '列幅の設定 .Columns("A:D").ColumnWidth = 8.38 End With '----START Cells.Select Selection.Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range("D2") _ , Order2:=xlAscending, Key3:=Range("G2"), Order3:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ SortMethod:=xlPinYin, DataOption1:=xlSortTextAsNumbers, DataOption2:= _ xlSortTextAsNumbers, DataOption3:=xlSortNormal objBook.Save '----END Err_SetExcelLayout_umpn: '略 End Function
|