- ベストアンサー
アクセスのフォームのボタンで
access2010を使っています メニュー画面があり、そこに配置したボタンで メニュー以外に開いているウインドをすべて閉じるVABを組みたいのですが アクティブウインドを閉じる命令ばかりがひっかかっています 非アクティブウインドをすべて閉じるVBA文を教えていただければと思います
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>メニュー以外に開いているウインドをすべて閉じる 「メニュー以外に開いている」という この事象を防いだ方がスッキリするように思います。 参考。 「access 直前まで開いていたフォームを閉じる。」 http://okwave.jp/qa/q5735801.html と同じことが起きているのでは?。 60秒間経過すると自動的にフォームを閉じる http://www.accessclub.jp/urawaza/65.html http://www.happy2-island.com/access/gogo03/capter60002.shtml VBAで開いているオブジェクトを閉じる(DoCmd.Close) メニュー以外に開いているウインドが無いときも 考慮しておいた方がいいです。
その他の回答 (2)
- piroin654
- ベストアンサー率75% (692/917)
ボタンクリック時のイベントで、 Private Sub コマンド0_Click() Dim i As Integer For i = Forms.Count - 1 To 0 Step -1 If Not Forms(i).Name = Me.Name Then DoCmd.Close acForm, Forms(i).Name End If Next End Sub Accessのウィンドウ自体の非表示ではないと 思うので、以上でどうでしょう。
お礼
試してみましたが、どうも思った通りには いかないのでこれを元にもう少し考えてみます ありがとうございます
- MRT1452
- ベストアンサー率42% (1391/3293)
やったことが無いので推測ですが、 VBA単体では、自分以外のウィンドウを閉じるということは出来ないかと。 自分自身に対しては制御範囲内なので可能ですが。 その処理を行うのであれば、API等を介して、OSの機能を制御する命令を間接的にキックするという形になると思います。 その詳細等については、調べてみないと判らないです。
お礼
確かに調べてみると制御の問題がでてくるみたいです ありがとうございました
お礼
不必要なウインドがすっきりいきそうです ありがとうございました