tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Excelでファイルの中身がコピーされるバグ
投稿日: 2008/05/13(Tue) 14:08
投稿者おたか
質問します。
Form1にてパスsのファイルを操作しています。
その後
            System.Runtime.InteropServices.Marshal.ReleaseComObject(Book)
としてBookを閉じています。

その後Form2を開いて以下の関数a()をCallしています。
すると、ファイルsのファイル名は変わっていないのですが、
ファイルsの中身は以下のファイルdirにすり替わってしまいます。
ファイルsとファイルdirは別のディレクトリに存在してます。
以下のように、念のためdirを呼ぶ前にsを明示的に閉じてみましたが、
現象は変わりません。

ファイルsとファイルdirは全然違うファイルなので、中身がコピーされては困ります。
どなたか防ぐ方法を教えてください。

Private sub a()    
   Dim Book As Microsoft.Office.Interop.Excel.Workbook
   Dim xlSheets As Microsoft.Office.Interop.Excel.Sheets
   Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
   Dim r1 As Microsoft.Office.Interop.Excel.Range
   Dim BookNow As Microsoft.Office.Interop.Excel.Workbook

   '最初に今開いているファイルを閉じる(本当は閉じているはず)
   Dim BookNow As Microsoft.Office.Interop.Excel.Workbook = Books.Open(s)
   BookNow.Close()
   System.Runtime.InteropServices.Marshal.ReleaseComObject(BookNow)

   dir = GetAppPath()
   dir = dir & "\h8.xls"
   Book = Books.Open(dir) 'ファイルを呼び出す
   xlsheets = Book.Worksheets()

 'Excelファイルdirの読み込み&書き込みを行う

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

古いスレッドにレスはつけられません。