投稿日 | : 2003/11/19(Wed) 11:25 |
投稿者 | : うに |
Eメール | : |
URL | : |
タイトル | : Excelアプリ終了後マウスポインタが戻らない |
こんにちは。
VBからExcelを起動し、プレビューを表示させ終了させるという処理で、
プレビュー画面からの印字終了もしくは「閉じる」ボタン押下でVBに
制御は戻るのですが、マウスポインタがHourglassのまま戻りません。
プロセスが残ってしまっている可能性も考えましたが、タスクマネージャ
で確認したところExcel.exeは残っていませんでした。
どこか問題なのか皆目検討がつきません。お詳しい方のご指摘を頂戴した
いと思います。よろしくお願いします。環境およびソースコードは以下です。
<環境>
Win2000Pro(SP3) VB6(SP5) Office2000
<ソースコード>(なお参照設定はしておりません)
Sub sub()
Me.MousePointer = ccHourglass
Private WKO_ExcelAppl As Object 'EXCELアプリケーションオブジェクト
Private WKO_ExcelBook As Object 'EXCELブックオブジェクト
Private WKO_ExcelSheet As Object 'EXCELシートオブジェクト
'既存Bookのオープン
Set WKO_ExcelAppl = CreateObject("Excel.Application")
Set WKO_ExcelBook = WKO_ExcelAppl.Workbooks.Open("Book.xls")
Set WKO_ExcelSheet = WKO_ExcelBook.Worksheets("Sheet")
'ワークシートへ値をセットするサブプロシージャ
'ワークシートオブジェクトを渡しています(もちろんByRefで)
'こちらのコードは割愛します。
Call Sub_Set_Values(WKO_ExcelSheet)
'ユーザに見せるのはプレビュー画面のみなため、ここで
'はじめてVisibleを有効にしています
WKO_ExcelAppl.Visible = True
WKO_ExcelBook.PrintPreview
WKO_ExcelAppl.Visible = False
WKO_ExcelBook.Close SaveChanges:=True
WKO_ExcelAppl.Quit
Set WKO_ExcelAppl = Nothing
Set WKO_ExcelBook = Nothing
Set WKO_ExcelSheet = Nothing
'ステップ実行でこの処理の実行を確認しているのですが・・・
Me.MousePointer = ccDefault
End sub 'このプロシージャを終了するとマウスポインタはHourglassのまま・・・なんで〜!?