アプリ版:「スタンプのみでお礼する」機能のリリースについて

フォームの最小化ではなく、Access自体を
最小化したいのです。
通常VBのメインメニューが開いてるのですが、
タイマーでACCESSが開き、
処理が自動的にスタートし、終了すれば
閉じます。しかし、処理が1時間ほどかかり
その時、手動でAccessを最小化するのですが、
自動で実施する方法はないでしょうか?

A 回答 (2件)

Accessの起動時にWinAPIのShowWindowを使って最小化すれば出来ます。


標準モジュールにShowWindowを使って記述しておきAutoExecマクロでアクションをプロシージャの実行にしてアクションの引数でプロシージャ名を指定します。
    • good
    • 0
この回答へのお礼

回答有難うございました。
やってみます。

お礼日時:2006/04/01 08:17

#1の続きです。

下記のようにでも出来ます。
Accessを閉じるだけの小さいフォームでも作ってAccessを終了するボタンを配置しポップアップをはいに設定した場合。
下記のようにやるとAccessは非表示で起動時に設定したポップアップ設定されているフォームのみ表示されるようになります。(Accessは表示されません)
下記を標準モジュールに
Option Explicit
' オープン時に、Access自身を最小化に設定する為の API 宣言
Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long
' ウィンドウの表示状態を指定する定数の宣言
Public Const SW_SHOWMINIMIZED = 2 ' ウィンドウをアクティブにして最小化
Public Const SW_MINIMIZE = 6 ' ウィンドウを最小化
Public Const SW_HIDE = 0 ' ウィンドウを非表示

フォームの開く時にAccess自身を非表示に設定します。
Private Sub Form_Open(Cancel As Integer)
Dim rc As Long
rc = ShowWindow(Application.hWndAccessApp, SW_SHOWMINIMIZED)
End Sub

Access自体を非表示にする場合は必ずAccessを閉じるボタンを作ってフォームに配置しそのフォームをポップアップをはいに設定しておきAccessが非表示でもそのフォームのみ表示するようにしていつでも閉じれるようにしておきます。
こんなやり方もあります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2006/04/15 10:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!