مخفی کردن اکسل بعد از اجرای UserForm و عدم نمایش محتویات داخل اکسل
اگر شما قصد مخفی کردن اکسل بعد از اجرای User Form رو دارید طوریکه خود نرمافزار اکسل و محتویات آن مثل شیت ها و اطلاعات داخل اون مخفی بشه و قابل رویت نباشه ما تو این پست این موضوع رو کامل آموزش میدیم.
ما تو پست طراحی UserForm گرافیکی و جذاب در اکسل با نحوه ایجاد فرم های گرافیکی و زیبا آشنا شدیم حالا قصد داریم در ادامه همون آموزش می خواهیم کاری کنیم که با اجرای یوزرفرم نرمافزار اکسل کلا مخفی بشه و کاربر نتونه اطلاعات داخل فایل اکسل رو ببینه. ما اینجا برای مثال یک فرم لاگین طراحی کردیم که در پست دیگه ای نحوه کدنویسی فرم لاگین برای کاربران رو آموزشش خواهیم داد.
مراحل انجام مخفی کردن اکسل بعد از اجرای UserForm
گام اول : مخفی کردن اکسل با اجرای UserForm
- ابتدا با کلید میانبر Alt+F11 وارد محیط برنامهنویسی VBA شوید.
- از سمت چپ قسمت VBA Project روی گزینه This Workbook دبل کلیک چپ کنید تا صفحه کدنویسی آن در سمت راست ظاهر بشه. حالا در محیط کدنویسی و در رویداد WorkBook_Open دستور زیر رو بنویسید:
Private Sub Workbook_Open() Application.Visible = False LoginForm.Show End Sub
در این حالت زمانی که شما فایل اکسل رو که کدهای بالا داخلش ذخیره شده رو اجرا کنید، نرمافزار اکسل مخفی شده و User Form مربوطه نمایش داده خواهد شد.
در کدهای نوشته شده Application اشاره به خود نرمافزار اکسل داره و LoginForm اسم فرم ماست که قراره به نمایش در بیاد.
گام دوم : نمایش مجدد فایل اکسل
بعد از مخفی کردن فایل اکسل باید کاری کنیم که درصورت نیاز بشه نرمافزار اکسل رو مجدد قابل رویت کرد. برای اینکار کافیه یک دکمه داخل فرم قرار بدید و کد زیر رو در رویداد Click مربوط به دکمه بنویسید :
Private Sub Label2_Click() Unload Me Application.Visible = True End Sub
در کد بالا ابتدا یوزرفرم بسته میشه و نرمافزار اکسل نمایش داده میشه.
درباره جاوید
عاشق اکسل هستم و بیش از 12 ساله دارم اکسل کار می کنم. در این مسیر آموزش ها و فایل های حرفه ای ارائه دادم و همچنان در این مسیر با علاقه پیش میرم چون امروزه اکسل به یک مهارت انکار نشدنی تبدیل شده
سایر نوشته های جاویدمطالب زیر را حتما مطالعه کنید
۴ گام تا شماره گذاری صفحه چاپ در اکسل با یک نکته عالی
ایجاد لیست شیت ها در ComboBox اکسل با دستورات VBA
در کمتر از ۱ دقیقه چک لیست کارهای روزانه در اکسل بساز
فایل اکسل محاسبه مالیات حقوق سال ۱۴۰۱ + آموزش ویدئویی فرمولنویسی مالیات
برای چاپ اطلاعات داخل فرم از قبل پرینت شده در اکسل چکار کنیم؟
فقط با ۳ سوت فرم لاگین در اکسل طراحی کن
24 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام استاد چطور میشه یوزر پسوردش را تعریف کرد تا با زدن ورود پیدا کنن
سلام
استاد من کد مخفی کردن را نوشتم اول خوب عمل می کنه بار دوم صحفه اکسل خودش باز میشه
راهنمایی کنید
سلام. وقت بخیر
از دستور زیر باید برای بستن اکسل استفاده کنید.
Application.Quit
سلام
استاد من این کد و نوشته ام دراولین مرحله خوب کار میکنه بار دو باز هم اکسل باز میشه چکار کنم
سلام. وقت بخیر
از دستور زیر باید برای بستن اکسل استفاده کنید.
Application.Quit
سلام وقت بخیر
من یه فرم ورود اطلاعات درست کردم
می خوام بعد از ورود فقط فرم ها دیده بشه و فایل اکسل نمایش داده نشه
این امکان داخل اکسل وجود دارد ؟؟؟
سلام. وقت بخیر
این پست دقیقا برای همین موضوع هستش.
مطلب رو با دقت بخونید.
گام اول که مخفی کردن اکسل هست رو انجام دادم اما گام دوم رو فراموش کردم. الان نمیتونم فایل اکسلم رو ببینم . لطفا راهنمایی فرمایید
تشکر
سلام. وقت بخیر
ابتدا یک فایل اکسل باز کنید و یک کد اشتباه بنویسید و اجراش کنید تا دچار خطا بشه. فایل در همون وضعیت خطا بمونه و فایل خودتون رو باز کنید.
خیلی خیلی خیلی ممنونم از راهنماییتون. واقعا مفید بود 🙏
سلام
وقت به خیر
بعد از نوشتن و اجرای این فایل اکسل بسته میشه و فرم اجرامیشه و ماوس به حالت مشغول بودن (working in background) در میاد. چی کار کنم که این مشکل حل بشه.
سلام. وقت بخیر
حتما روی فرم یک دکمه هم برای نمایش فایل قرار بدید.
کدی که نوشتید رو هم اینجا قرار بدید بررسی کنیم.
مهندس من میخوام یه کاربر وقتی اکسل رو باز میکنه فقط یه تصویر براش بیاد و حتی علامت ضربدر داخل فرمی که میخواد نمایش داده بشه تا اطلاعات داخلی اکسل رو مخفی کنه هم نشون داده نشه و به همین صورت فرم اکسل من به یه صورتی اتوماتیک برای همه سیستم ها فرمی که عکس رو میخواد بیاره بالا ریسایز بشه و فیکس و ماکزیمم نشون داده بشه میشه راهنمایی کنین لطفا ؟؟
من یه یوزر فرم ورود کاربر ساختم برای ورود میخوام یه کاری کنم گزینه کلوز بالای یوزر فرم نشون داده نشه یا غیر فعال باشه ممنون میشم بهم بگید راه حلش چیه؟ با تشکر
سلام. وقت بخیر.
در رویدار QueryClose مربوط به یوزرفرم دستور زیر رو بنویسید تا گزینه ضربدر فرم غیرفعال بشه:
Cancel = True
ممنون استاد. یه سوال دیگه هم داشتم. میخوام یه دستور بنویسم که اگه یه بازده زمانی خاصی مثلا ۳۰ دقه فایل اکسل باز بمونه و باهاش کار نکنم بره رو حالات یوزرفرم لاگین. راهنمایی میفرمایید از چه دستوراتی باید استفاده کنم. با تشکر
وقتی چند فایل اکسل با هم بازه ، فایلی ک حاوی userform اجرا میکنم همه ی فایلای اکسل مخفی میشه در صورتی کم من فقط میخوام همون یک فایل مخفی بشه .
سلام. وقت بخیر
میتونید از دستورات زیر استفاده کنید :
Application.ActiveWindow.Close
Application.ActiveWorkBook.Close
سلام وقت بخیر
با استفاده از این دستورات ، که کل فایل رو میبنده و اجازه باز شدن یوزر فرم رو نمیده.
آیا راه حل دیگه ای دارید؟
شما دقیقاً میخوای چی بسته بشه؟
استاد سلام ممنون از وقت وحوصله ای که برا اموزش اکسل میزارید.اگه سوالی راجع به این موضوع داشته باشیم میتونم بپرسم……موفق وسربلند باشید
سلام. وقت بخیر
بله. هر سوالی داشتید همینجا بپرسید.
سلام استاد وقت بخیر ، خیلی ممنون از آموزش هاتون که بسیار عالی و دقیق و با حوصله انجام میدید ، امیدوارم مطالب بیشتری ازتون یاد بگیرم .
سلام. وقت بخیر.
خواهش می کنیم.
موفق باشید.