- - PR -
EXCELファイルが保存できない
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-03-16 12:42
いつも参考にさせていただいております。
現在、ASP.NETで開発を行っております。 その中の処理で、 EXCELを別フォルダからコピーし、新規のフォルダを作り(ユーザー毎) その中にコピーしたEXCELファイルを置く。 コピーしたEXCELファイルをASP.NET側でOPENし、DBから取得したデータをもとに編集し、 保存するという処理を行っております。 下記がEXCELを保存し、終了、JavaScriptでクライアント側に表示するまでのソースです。 Sub ExcelTest() Dim objExcelApp As Excel.Application objExcelApp = CType(CreateObject("Excel.Application"), Excel.Application) Dim objExcelBook As Excel.Workbooks = objExcelApp.Workbooks Dim book As Excel.Workbook = objExcelBook.Open("D:\\UserFile\\text.xls") objExcelApp.DisplayAlerts = False Dim objExcelSheets As Excel.Sheets = book.Worksheets Dim sheet1 As Excel.Worksheet = CType(objExcelSheets("EXCEL1"), Excel.Worksheet) --DBからデータを取得し、EXCELに編集..... ・ ・ book.Save() 'EXCEL終了処理 book.Close(False) objExcelApp.DisplayAlerts = True objExcelApp.Quit() System.Runtime.InteropServices.Marshal.ReleaseComObject(sheet1) System.Runtime.InteropServices.Marshal.ReleaseComObject(objExcelSheets) System.Runtime.InteropServices.Marshal.ReleaseComObject(book) System.Runtime.InteropServices.Marshal.ReleaseComObject(objExcelBook) System.Runtime.InteropServices.Marshal.ReleaseComObject(objExcelApp) objExcelApp = Nothing End Sub --EXCEL編集処理をしたCLASSをNothingする。 --JavaScriptでクライアント側に表示する strScript = strScript & "<Script Language='JavaScript'>" strScript = strScript & "window.open(" strScript = strScript & "'../UserFile/text.xls" & "'," strScript = strScript & " 'self','resizable=yes,toolbar=yes,directories = yes,menubar = yes');" strScript = strScript & "</script>" Response.Write(strScript) ※UserFileは仮想ディレクトリとして指定しています。(参照はD:\\UserFile\\) 上記のようにWindow.Openで表示しているのですがたまに編集された EXCELがSaveされないまま表示されることがあります。 不思議なのは保存されないまま、クライアント側に表示され、 EXCELファイルが表示されたブラウザを閉じた後、 同じ処理をもう一度行ったりすると今度はきちんと編集されたものが 保存されてクライアント側に表示されます。 エラーが拾えればまだ原因追求できるのですが 処理自体は保存されていてもいなくても 正常に終了します。 現象はランダムなので正直、原因がつかめません。 もし、これではないか?とおもう情報でも良いので ご教授願います。 |
|
投稿日時: 2004-03-18 21:23
自己レスです。
単にcatchでうまくエラーを拾えず、 プログラムは正常終了したと見なし、EXCELを表示していただけのようです。 ご迷惑をおかけいたしました。 |
1