Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


65439 / 76738 ←次へ | 前へ→

【15874】Re:フォームをアクティブにするには
回答  ichinose  - 04/7/9(金) 22:20 -

引用なし
パスワード
   >>フォーム上のボタンをクリックすると
>>Application.InputBox によってキー入力データを
>>取り込むフォームをつくりました。
>>
>>そうすると、Application.InputBox によってキー入力データを
>>取り込んだ後、元のフォームがアクティブでなくなってしまいます。
>>
>>フォームをクリックすることなく、元のフォームをアクティブに
>>戻す方法を考えています。
>>
>>例えば、特定のフォームをマクロからアクティブにできるコード
>>があれば、解決しそうなのですが、そのような方法をご存知の方
>>教えていただけませんか。
>私が頭に浮かんだ方法はふたつです。
>
>1. Application.Inputboxと同じような仕様をUserformで実現する方法。
>  これだと呼び出した(Showメソッドで)フォームに戻ってきたときそのフォームは
>  アクティブになります(モーダルモードの場合)。
>
>2.一度、Hideしてから、再度Showメソッドで表示する。
>'=============================================================
>Private Sub CommandButton1_Click()
>  ans = Application.InputBox("aaa")
>  With Me
>    .Hide
>    .Show
>    End With
>End Sub
>この時は、再度のShowメソッドでActivateイベントが発生しますから
>Activateイベントコードが記述されている場合は、制御が必要になりますが・・。

もうひとつは、

上記のクリックイベントプロシジャーで別のコントロールにフォーカスを移す。
'================================================================
Private Sub CommandButton1_Click()
  ans = Application.InputBox("aaa")
  textbox1.SetFocus 'イベント対象のコントロールだとダメでした
End Sub
「2.」の方法だと色々面倒な事がありそうなので
「1.」かこの方法がよいのかもしれません。

0 hits

【15872】フォームをアクティブにするには 上海小次郎 04/7/9(金) 20:39 質問
【15873】Re:フォームをアクティブにするには ichinose 04/7/9(金) 21:51 回答
【15874】Re:フォームをアクティブにするには ichinose 04/7/9(金) 22:20 回答
【15880】Re:フォームをアクティブにするには [名前なし] 04/7/10(土) 0:06 回答

65439 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free