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

投稿日: 2003/02/14(Fri) 09:23
投稿者killer
Eメール
URL
タイトルRe: Excelがメモリに残る

> VBからExcelを起動して、終了させてもExcelがメモリに残っています。
> セルの削除部分をコメントアウトすると、メモリからも消えるのですが、
> セルを削除すると、メモリに残ってます。
> 何が悪いんでしょうか?
> 宜しくお願い致します。
>
> VB6Pro sp5 + Excel2000 Windows2000/NT4
>
> Public xlsApp   As Excel.Application
> Public xlsBook  As Excel.Workbook
> Public xlsSheet As Excel.Worksheet
>
>     'Excelの起動
>     Set xlsApp = CreateObject("Excel.Application")
>     Set xlsBook = xlsApp.Workbooks.Open(App.Path & "\test.xls")
>     Set xlsSheet = xlsBook.Worksheets(1)
>
> '----ここから
>     Rows("9:19").Select
>     Selection.ClearContents
>     Range("A1").Select
> '----ここまでをコメントアウトするときちんと終了する
>
>     'Excelの保存と終了
>     xlsBook.Save
>     xlsApp.Quit
>     DoEvents
>
>     'Excelの開放
>     Set xlsSheet = Nothing
>     Set xlsBook = Nothing
>     Set xlsApp = Nothing

 上記のコードを実行してもメモリに残らなかったけどなぁー・・・
 ただオイラなら下記のようにコードは書くかな?
 素人さんのコードはなんでエクセルのオブジェクトを3つも使ってるの?
 1つで十分なような気するけど・・・

Dim objXLS  As Object
    
    Set objXLS = CreateObject("Excel.application")
    objXLS.Application.Workbooks.Open (App.Path & "\test.xls")
    objXLS.Worksheets(1).Select

    objXLS.Application.Rows("9:19").Select
    objXLS.Application.Selection.ClearContents
    objXLS.Application.Range("A1").Select
    
    objXLS.Save
    objXLS.Quit
    Set objXLS = Nothing


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

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

- Web Forum -