現在Accessで以下のことを行おうとしております。
1.既存のExcelファイルをコピーする。
2.コピーしたエクセルファイルにセル指定で値を入力する。
3.プロセスが残らないようにクローズを行う。
正常に処理が終わればやりたいことが出来るようにロジックは組めていますが、
指定したセルに値を入力している時に以上終了した場合にExcelをクローズ出来ずに困っております。
クローズ出来ないというのは、デバッグをするとクローズを行う箇所にはいくのですが、そこから全然進まなくなります。
どうにかして、異常終了時にプロセスが残らないようにクローズをしたいのですが、良い方法ありませんでしょうか。
色々と端折っている部分(objectの解放とか)はありますが、以下のようなロジックです。
vb
1On Error GoTo Error 2 3Set fileOperation = CreateObject("Scripting.FileSystemObject") 4fileOperation.CopyFile "コピー元ファイルのパス", "コピーするファイルのパス" 5 6Set excelObj = CreateObject("Excel.Application") 7Set copyExcel = excelObj.workbooks.Open("コピーしたファイルのパス") 8' ワークブックの指定 9Set inputSheet = copyExcel.Worksheets("シート1") 10 11' 転記 12inputSheet.cells(1, 1).Value = "何か文字列" 13inputSheet.cells(2, 2).Value = "何か文字列" 'このあたりで異常終了するとする(移送する文字列が数値変換でエラーになるとか) 14inputSheet.cells(3, 3).Value = "何か文字列" 15inputSheet.cells(4, 4).Value = "何か文字列" 16 17' 終了処理 18copyExcel.Save 19copyExcel.Close 20excelObj.Quit 21 22Error: 23 24copyExcel.Close '異常終了時にここまで来るがこの処理が終わらず進まない 25excelObj.Quit 26コード
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/20 02:10