VB6からExcelシートを開き、印刷を行う下記コーディングを作成しました。
正常に印刷はできるのですが、「エラーが発生したため、Excel.exeを終了します。
プログラムをもう一度開始する必要があります。」のエラーメッセージが
表示されてしまいます。
この現象はXP、Excel2000の組み合わせでは正常動作します。
Windows2000、Excel2000では上記エラーが出ます。
どこに原因があるか、ご教授下さい。
よろしくお願い致します。
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("c:\hoge.xls")
Set xlSheet = xlBook.Worksheets(1)
xlApp.Visible = True
'excelへの編集
xlSheet.Cells(8, 2) = "testA"
xlSheet.Cells(5, 2) = "testb"
xlSheet.Cells(5, 3) = "testc"
xlSheet.Cells(5, 4) = "testd"
xlSheet.Cells(4, 3) = "teste"
xlSheet.Cells(4, 4) = "testf"
'印刷
xlSheet.PrintOut
'excelの終了
xlApp.DisplayAlerts = False '保存ダイアログを出さない(保存しない)
xlApp.Quit
'オブジェクトの開放
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
よくわからないですけど、
Excelを終了する前にBookを閉じてみてはどうでしょうか?
'印刷
xlSheet.PrintOut
xlBook.Saved = True
xlBook.Close
'excelの終了
xlApp.DisplayAlerts = False '保存ダイアログを出さない(保存しない)
xlApp.Quit
レス有難うございます。
試してみましたけど、ダメでした。。。
私のPCでは同じコードでやってもエラー出ませんけど・・・。
ちなみに win2000 Excel200 VB6SP6ですけど。
Execelのオブジェクトライブラリやめて
同じ事だけど・・・。下記のコードでは??いかがでしょう?
Private Sub Command1_Click()
Dim ObjExcel As Object
Set ObjExcel = CreateObject("Excel.Application")
ObjExcel.Workbooks.Open "c:\hoge.xls"
ObjExcel.Visible = True
'excelへの編集
With ObjExcel.Sheets("Sheet1")
.Cells(8, 2) = "testA"
.Cells(5, 2) = "testb"
.Cells(5, 3) = "testc"
.Cells(5, 4) = "testd"
.Cells(4, 3) = "teste"
.Cells(4, 4) = "testf"
'印刷
.PrintOut
End With
'excelの終了
ObjExcel.DisplayAlerts = False '保存ダイアログを出さない(保存しない)
ObjExcel.Quit
'オブジェクトの開放
Set ObjExcel = Nothing
End Sub
ツイート | ![]() |