PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : باز شدن فرم ها در ابتدا



zxcvbn
2015/10/02, 00:40
با سلام خدمت دوستان

من تو اکسل برنامه نویسی vba رو انجام دادم و فرم های متععدی ساختم.

الان میخوام دستوری بنویسم که وقتی شخص اکسل رو باز می کنه، صفحه اکسل بالا نیاد ( شیت ها نشون داده نشه) و یسره یه فرم اصلی ( فرم Home) نمایش داده بشه و از اونجا روی command butoon ها کلیک کنه.
یعنی بشه مثل یه نرم افزار

یه سوال دیگه هم داشتم اینکه آیا میشه برای این نرم افزاری که ساختم، یه آیکون تعبیه کرد. یعنی شخص بجای دیدن آیکون اکسل، یه آیکون دیگه ببینه و روش کلیک کنه و فرم Home باز بشه.
لطفا یه فایل نمونه بذارید
ممنون

amirghadiri
2015/10/02, 01:44
با اجازه بزرگان سایت.

Ali Parsaei
2015/10/02, 18:50
سلام،
اين مطلب هم شايد به درد بخورد:
لينک (http://forum.exceliran.com/showthread.php/6697-%DA%AF%D8%B1%D9%81%D8%AA%D9%86-%D8%A7%D9%85%DA%A9%D8%A7%D9%86-%D8%AF%D8%B3%D8%AA%D8%B1%D8%B3%D9%8A-%D8%A8%D9%87-%D9%85%D8%AD%D9%8A%D8%B7-%D8%A7%DA%A9%D8%B3%D9%84-%D8%A7%D8%B2-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1)
البته اگر کاربر ماکروهايش فعال نباشد هيچکدام از اينها به کار نمي آيد!!!!!
بايد يک کلک ديگر هم زد، فرضا" ظاهر فايل را شبيه يک فايل خام کرد (مثلا" سه تا شيت خام فاقد اطلاعات ايجاد کرد) و کليه شيت هاي ديگر حاوي اطلاعات را مخفي کرده و WORKBOOK را قفل کرد، بعد کدي نوشت که موقع باز شدن فايل اون سه تا شيت خام را مخفي کرده و فرم مورد نظر اوليه را فعال کند و ....... ضمنا" بايد کدي نوشت که در موقع بستن فايل دوباره آن سه شيت نمايان و بقيه شيتها مخفي شوند.
اگر ماکروهاي کاربر فعال نبود که کد عمل نمي کند و کاربر فقط با سه شيت خالي و شيتهاي مخفي غير قابل دسترسي مواجه مي گردد ولي اگر فعال بود فرم ابتدايي فعال شده و .... بقيه ماجرا.
موفق باشيد.

iranweld
2015/10/03, 07:51
با سلام

و کسب اجازه از مهندس پارسا

کدهای ذیل را در قسمت this workbook اضافه کنید

Private Sub Workbook_Open()


On Error Resume Next

Application.ActiveWorkbook.Application.Visible = False


UserForm1.Show

On Error GoTo 0

End Subw

8778

abootorab
2015/10/03, 11:24
با درود
ضمن تشکر از جناب پارسا و جناب iranweld که این موضوع رو پاسخ دادن
اما نکته ای که وجود داره و به نظر بنده شاید خیلی مهم باشه اینه که ماکروها و کدهای vba زمانی قابل اجرا هستند که در تنظیمات اکسل سیستمی که قراره اون فایل به اجرا در بیاد می بایست از قبل ماکروها فعال باشند در غیر اینصورت ما با مشکلاتی مواجه میشیم که در بعضی موارد حتی باعث دسترسی به سورس برنامه جهت کاربر استفاده کننده وجود داشته باشه.
خیلی از دوستان شاید با زحمات زیاد و صرف زمان طولانی برنامه ای تهیه می کنند که کاملا کاربردی باشد و قطعا این موضوع در چنین فایلها و برنامه هایی اهمیت به سزایی پیدا می کنند.
به هر حال راه حل هایی که وجود داره شاید هرکدام به دلیلی نقصی در آن وجود داشته باشه و این نگرانی همیشه در ذهن برنامه نویس و تهیه کننده وجود داره. اما مناسبترین راه حل حداقل به نظر بنده و اینکه شخصا زیاد از اون استفاده کرده ام استفاده از برنامه جانبی LockXls می باشد که در انجمن هم زیاد در مورد آن صحبت شده و خود نرم افزار هم فکر کنم وجود داشته باشه.

از جمله کارایی و قابلیت های این برنامه:
1- قفل گذاری روی فایل شما به طرق مختلف طوری که کاربر به هیچ وجه قادر به مشاهده سورس برنامه نمی باشد
2- تبدیل فایل اکسل به فایلی با پسوند exe (البته در این مورد نیز وجود نرم افزار اکسل بر روی سیستم الزامی می باشد)
3- انتساب یک آیکون دلخواه به فایل برنامه
4- مخفی نمودن محیط اکسل در زمان اجرای فایل برنامه
5- ساختن قفل سخت افزاری جهت برنامه
6- محدود نمودن اجرای برنامه برای یک مدت مشخص یا تعداد دفعات اجرا
7- ساخت یک Trial از برنامه
و امکانات پیشرفته تری که دوستان می تونن خودشون تجربه و استفاده کنند

در مورد نرم افزار (LockXls) اگر دوستان سوالی و یا مشکلی داشتن تا اونجایی که کار کردم و بلدم در خدمتم.

Alireza
2015/10/03, 13:58
با سلام

و کسب اجازه از مهندس پارسا

کدهای ذیل را در قسمت this workbook اضافه کنید

Private Sub Workbook_Open()


On Error Resume Next

Application.ActiveWorkbook.Application.Visible = False


UserForm1.Show

On Error GoTo 0

End Subw

8778

سلام رمز فایل روی Label فرم اشتباه تایپ شده است

iranweld
2015/10/03, 20:40
سلام رمز فایل روی Label فرم اشتباه تایپ شده است


با سلام
رمز 123456 هستش