Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


71581 / 76732 ←次へ | 前へ→

【9644】オブジェクトの開放
質問  まさと  - 03/12/11(木) 15:39 -

引用なし
パスワード
   固定長テキストファイルをエクセルで開くマクロを作成しています。
目的は、すでに開いているエクセルファイに対して、マクロ実行により新規に開かれるエクセルファイルのデータの必要箇所をコピーして張り付けることです。ここで、すでに開いていたものとマクロにより開かれたもので、2つのエクセルブックが表示される状態なのですが、マクロにより開いたファイルを閉じた後もオブジェクトが開放されていないようなのです。
参照したファイル(テキストファイル)を削除しようとすると

”FILEを削除できません。ほかの人またはプログラムによって使用されています。ファイルを使用している可能性があるプログラムをすべて閉じてから、やり直してください。”

というメッセージが表示されます。
最初から開いていたエクセルまで閉じるとファイルの削除ができるのですが、
どのオブジェクトが開放されていないかわかりません。
以下にマクロを記述します。どなたか対応策をお教えください。

Sub Excel変換()

Dim Ebook As Excel.Application
Dim OpenFileName As Variant

'出力ファイルの選択
OpenFileName = Application.GetOpenFilename("テキストファイル,*.txt")

If OpenFileName <> False Then

  'オブジェクト変数にオブジェクトの参照を代入
  Set Ebook = New Excel.Application

  'ファイルのExcel展開
  Ebook.Workbooks.OpenText Filename:=OpenFileName _
            , DataType:=xlFixedWidth _
            , FieldInfo:=Array(Array(0, 1) _
            , Array(9, 1) _
            , Array(16, 1) _
            , Array(22, 1) _
            , Array(29, 1) _
            , Array(37, 1) _
            , Array(45, 1) _
            , Array(53, 1) _
            , Array(61, 1) _
            , Array(68, 1)) _
            , TrailingMinusNumbers:=True

  'Excel表示
  Ebook.Visible = True

  'オブジェクトの開放
  Set Ebook = Nothing

End If

End Sub
3 hits

【9644】オブジェクトの開放 まさと 03/12/11(木) 15:39 質問
【9650】Re:オブジェクトの開放 りん 03/12/11(木) 20:13 回答
【9654】Re:オブジェクトの開放 まさと 03/12/12(金) 9:33 質問
【9661】Re:オブジェクトの開放 つん 03/12/12(金) 11:06 回答
【9687】Re:オブジェクトの開放 まさと 03/12/12(金) 16:06 お礼

71581 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free