■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#5693-0MSGBOXが隠れてしまうYM1999-12-15(水) 14:10
     #5694-0RE#5693:MSGBOXが隠れてしまうゆう(U)1999-12-15(水) 14:28
     #5723-0RE#5694:MSGBOXが隠れてしまうYM1999-12-15(水) 22:55
#5693-0
MSGBOXが隠れてしまう
モーダル表示したフォーム上の[開始]ボタンを押すと処理が
始まり、終了すると「終了しました」というMSGBOX関数で
記述したメッセージボックスが表示されるようにしたいのですが、
「終了しました」のメッセージボックスがフォームの背面に隠れて
表示されてしまいます。
(その状態で、フォームをマウスでクリックすると、ぴこっと現われます。)

Private Sub cmdRun_Click()
	If intKey_Syori = 1 Then
		bolRet = 処理 1			'処理の戻り値はTRUE or FALSEです
	ElseIf intKey_Syori = 2 Then
		bolRet = 処理 2			'処理の戻り値はTRUE or FALSEです
	ElseIf intKey_Syori = 3 Then
		bolRet = 処理 3			'処理の戻り値はTRUE or FALSEです
	End If

	If bolRet Then
		strStyle = vbOKOnly + vbInformation
		strTitle = "システム"
		strMsg = "終了しました。" + vbCrLf + vbCrLf + vbCrLf
		MsgBox strMsg, strStyle, strTitle
	End If
End Sub

不思議なのが、処理 2 の場合にだけこの症状が起こるのです。
正直、なぜそんなことになるのか全く理解できないので、対処のしようがなく
困っています。
MSGBOXのパラメータにvbApplicationModalを加えてみても変わりませんでした。
また、MSGBOXの表示の前後にフォームのMe.Enabled = False と True を
加えてみましたが、これも変わりなしでした。

フォームをモーダル表示しているのもなにか関係あるのかもしれませんが、
モードレスには都合上できません。また、処理 1、3 はなぜか正常に
表示されます。上記のコードのままなので、処理 1、2、3 に違いは見られない
と思うのですが・・・。

処理の中では、Access97のmdbにMicrosoft ActiveX Data Objects 2.0 Library(ADO)
でアクセスし、その結果をExcelシートに書きこむということを行っています。

環境:Windows98 VB6.0(SP入れていません) Excel97 Access97
Excel97:Microsoft Excel 8.0 Object Library(参照設定)
Access97:Microsoft ActiveX Data Objects 2.0 Library(参照設定)
#5694-0
RE#5693:MSGBOXが隠れてしまう
> 不思議なのが、処理 2 の場合にだけこの症状が起こるのです。
> 正直、なぜそんなことになるのか全く理解できないので、対処のしようがなく
> 困っています。
処理2の中で、処理1・3と異なる部分が問題になるのでは?

処理1・2・3共に主要コード部をコメントにして動作を確認しては?
※とりあえずTrue/Falseの両方とも戻り値を設定して動作確認

なんのコードが、原因になっているか見つかるかも・・・
#5723-0
RE#5694:MSGBOXが隠れてしまう
> 処理2の中で、処理1・3と異なる部分が問題になるのでは?
> 
> 処理1・2・3共に主要コード部をコメントにして動作を確認しては?
> ※とりあえずTrue/Falseの両方とも戻り値を設定して動作確認
> 
> なんのコードが、原因になっているか見つかるかも・・・

ありがとうございます。もう少し検討してみます。
処理はそれぞれFunctionプロシージャで戻り値はBooleanです。
正常終了でTRUE、異常終了でFALSEとなっているのですが、
ほぼというかまず正常終了するので、どの処理も戻り値はTRUEになります。
たぶん、処理内のコードのなにかが引っかかっているんだと思います。調べてみます。

もしかしたら、VBのバグか何かで「回避策があるのでは?」と思ったのですが
自力で解決もしくはお客を説得(笑)しようと思います。

ありがとうございました。
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)