غیر فعال کردن دکمه بستن (Close) یوزرفرم در اکسل

1,262
4 دیدگاه
غیرفعال کردن دکمه بستن یوزرفرم در اکسل

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

کد غیرفعال کردن دکمه بستن یوزرفرم

فایل اکسل خود را باز کنید و با استفاده از کلیدهای ترکیبی Alt +F11 وارد محیط VBA شوید. در کادر Project روی نام یوزرفرم خود کلیک راست کرده و گزینه View Code را انتخاب و کدهای ذیل را وارد نمایید:

[sourcecode language="vb"]
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
     '========== Sheet1.ir ==========
    If CloseMode = 0 Then Cancel = True
End Sub
[/sourcecode]

نتیجه همانند تصویر ذیل خواهد بود:

غیرفعال کردن دکمه بستن یوزرفرم

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

[sourcecode language="vb"]
Private Sub CommandButton1_Click()
     ============= Sheet1.ir ============
    'بستن فرم
    Unload Me
End Sub
[/sourcecode]

نتیجه کار را در ویدیو ذیل می توانید ببینید.

مطالب مرتبط :

4 دیدگاه. پیغام بگذارید

  • سلام روز بخیر

    میخواهم از Frame1 در UserForm1 پرینت بگیرم ولی اطلاعاتی هم که در یوزفرم هست چاپ می شود لطف میکنید چه دستوری باید بنویسم
    با تشکر از لطف شما

    پاسخ
    • رسول سلیمانی
      ۱۰ آذر ۱۴۰۲

      سلام رضا
      تا جایی که اطلاع دارم نمیشه دستور پرینت را برای Frame استفاده کرد اما میتوان به یک ترفند تنها از Frame پرینت گرفت. با استفاده از کد های ذیل. این کد userform را به اندازه Frame تنظیم کرده و از آن پرینت می گیرد و در پایان با اجرای Default_Size به اندازه اصلی خود باز گردانده می شوند. در متد Default_Size از اندازه های یوزرفرم و فریم خود استفاه کنید.

      Private Sub Print_Button_Click()
         With Me
              .Frame1.Top = 0
              .Frame1.Left = 0
              .Height = .Frame1.Height + 35
              .Width = .Frame1.Width + 10
         End With
         Me.PrintForm
         Default_Size
      End Sub
      
      
      Sub Default_Size()
      With Me
              .Frame1.Top = 30
              .Frame1.Left = 25
              .Height = 260
              .Width = 350
         End With
      End Sub
      
      پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این قسمت نباید خالی باشد
این قسمت نباید خالی باشد
لطفاً یک نشانی ایمیل معتبر بنویسید.
شما برای ادامه باید با شرایط موافقت کنید

keyboard_arrow_up