 |
در این پروژه به کمک Declare PtrSafe Function، تابعی از ویندوز را فراخوانی میکنیم که میتواند پنجره Access را هنگام اجرای برنامهVBA مخفی کند. برای فراخوانی Function ShowWindow، از user32.dll، باید دستوراتی را در بخش Module، بنویسیم، از آنجا که نحوه برخورد با کدها در نسخههای 32 بیتی و 64 بیتی کمی با هم متفاوت است از عبارت IF# استفاده کرده ایم که در واقع شرط هنگام ترجمه، یا کامپایل کدهای VBA را بررسی میکند. عبارت Declare PtrSafe Function برای فراخوانی در Microsoft Office Access vabی 64 بیتی، و عبارت عبارت Declare Function برای فراخوانی در Microsoft Office Access vabی 32 بیتی، کاربرد دارد. پس از آن هر جا که کدنویسی VBA، خواسته باشیم پنجرۀ Access را مخفی کنیم از عبارت ShowWindow Access.hWndAccessApp, 0 و هرجا که خواسته باشیم پنجرۀ Access را نمایان کنیم از عبارت ShowWindow Access.hWndAccessApp, 5 استفاده میکنیم.
|
یک Module که محتوی کد VBA آن ، به شرح زیر است، ایجاد کنید:
Option Compare Database
#If Win64 Then
Declare PtrSafe Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#Else
Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#End IF
یک فرم با محتوای زیر، ایجاد کنید:
Option Compare Database
Private Sub Command0_Click()
Application.Quit acQuitSaveNone
End Sub
Private Sub Command1_Click()
MsgBox "Message", , "message"
End Sub
Private Sub Form_Close()
'ShowWindow Access.hWndAccessApp, 5
Application.Quit acQuitSaveNone
End Sub
Private Sub Form_Load()
ShowWindow Access.hWndAccessApp, 0
Labelcommand.Caption = Command()
End Sub
