VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2007/01/25(Thu) 11:54
投稿者ハシ
Eメール
URL
タイトルエクセル プロセスの開放

エクセルのプロセス開放について質問です、下のソースで、上書きの処理を通るときにプロセスの開放ができず、処理終了時にエクセルEXEが消えずに残ってしまいます。。
プロシージャの終了前に
Set xlSheet = Nothing  
Set xlBook = Nothing  
Set xlApp = Nothing
はしてあります。
上書きの時にシートを削除して・・このへんの処理が問題のようなきがするのですが。
アドバイスお願いします。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
For lTblIdx = 1 To UBound(uTblInf)
            If InStr(strString, sSelTbls(lTblIdx)) > 0 Then
                
                '上書きの場合
                For i = 1 To lMaxRow
                    If sSelTbls(lTblIdx) = vRangeVal(i, C_T_COL_テーブル名) Then
                        lRow = i + C_T_ROW_上書き調整
                        lTblId2 = i
                        i上書きNum = i上書きNum + 1
                    End If
                Next
  
                Sheets(sSelTbls(lTblIdx)).Delete   '上書きするテーブルのシートを削除
                        
                uTblInf(lTblIdx).sテーブルID = "TBL" & Format$(lTblId2, "000")
                    
                
            Else
            
                '追加の場合
                lRow = C_T_ROW_START + lMaxRow
                
                lMaxRow = lMaxRow + 1
        
                uTblInf(lTblIdx).sテーブルID = "TBL" & Format$(lMaxRow, "000")
            End If
            
            objSheet.Cells(lRow, C_T_COL_テーブルID).Value = uTblInf(lTblIdx).sテーブルID
            objSheet.Cells(lRow, C_T_COL_テーブル名).Value = sSelTbls(lTblIdx)
        Next
        
        
        '余分にできてしまった行を削除
        If i上書きNum >= 1 Then
            For i上書きNum = 1 To i上書きNum
                objSheet.Rows(lMaxRow + C_T_ROW_START).Delete Shift:=xlUp
            Next
        End If
        
        Set objSheet = Nothing


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -