مخفی کردن اکسل در زمان نمایش یوزرفرم

797
بدون دیدگاه
مخفی کردن اکسل در زمان نمایش یوزر فرم

گاهی اوقات برنامه هایی با اکسل میسازیم که بیشتر تعامل کاربر با آن از طریق یوزفرم (UserForm) هایی است که طراحی کرده ایم و از خود اکسل فقط برای جمع آوری داده استفاده می کنیم. در این مواقع بهتر است خود برنامه اکسل را مخفی کرده و تنها از طریق یوزرفرم ها با کاربر تعامل داشت. در ادامه روشی ساده برای مخفی کردن اکسل در زمان نمایش یوزرفرم ها بیان می شود.

کد مخفی کردن برنامه اکسل

جهت مخفی کردن برنامه اکسل از کدنویسی استفاده می شود. برای اینکار فایل اکسل خود را باز کنید و با استفاده از کلیدهای ترکیبی Alt +F11 وارد محیط VBA شوید. سپس همانند تصویر از کادر Project در سمت چپ محیط VBA بر روی گزینه ThisWorkbook دوبار کلیک کنید تا محیط کد نویسی آن باز شود.

محیط Thisworkbook در Vba

حال کد های ذیل را در این قسمت وارد نمایید:

Private Sub Workbook_Open()
     ============= Sheet1.ir ============
    'مخفي کردن برنامه اکسل
    Application.ActiveWindow.Application.Visible = False
    'نمايش يوزر فرم
    UF_My_Form.Show
End Sub

نتیجه همانند تصویر ذیل خواهد بود. دقت نمایید که در خط 6 بجای UF_My_Form نام یوزرفرم خود را وارد نمایید.

کد مخفی کردن اکسل در زمان نمایش یوزر فرم

با اجرای این کد در زمان باز شدن اکسل، برنامه اکسل مخفی شده و تنها یوزرفرم به کاربر نشان داده می شود. حال باید کاری کنیم که با بستن یوزرفرم توسط کاربر، برنامه اکسل نیز ذخیره و بسته شود. برای این کار روی نام یوزرفرم کلیک راست کرده و گزینه View Code را انتخاب و کدهای ذیل را وارد نمایید.

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    '============== sheet1.ir ================
    ' ذخیره کردن برنامه اکسل
     ActiveWorkbook.Save
     ' بستن برنامه اکسل
      Application.Quit
End Sub

با بستن فرم توسط کاربر این کد اجرا شده و ابتدا تغییرات اعمال شده را ذخیره سپس به طور کامل از برنامه اکسل خارج می شود.

درصورتی که تمایل دارید اختیار نمایش یا عدم نمایش برنامه اکسل را به خود کاربر بدهید می توانید یک دکمه بر روی فرم ایجاد کرده و در رویداد (event) آن از کدهای ذیل استفاده کنید:

Private Sub CommandButton1_Click()
     ============= Sheet1.ir ============
    'نمایش برنامه اکسل
    Application.ActiveWindow.Application.Visible = True
    'پنهان کردن يوزر فرم
    UF_My_Form.Hide
End Sub

باز دقت نمایید که در خط 6 بجای UF_My_Form نام یوزرفرم خود را وارد کنید. تمام کاری که باید برای مخفی کردن اکسل در زمان نمایش یوزرفرم  انجام می دادیم همین بود. در ویدیو ذیل می توانید نتیجه کار را ببینید.

مطالب مرتبط :

0 0 رای ها
امتیاز
اطلاع از
guest

0 نظر / سوال
بازخورد (Feedback) های اینلاین
مشاهده تمامی نظرات
0
خوشحال می شویم نظر شما را در مورد این مطلب بدانیمx