آموزش ایجاد سطح دسترسی در اکسل
Collapse
X
-
محافظت از شیت ها
جهت محافظت از شیت ها می بایست شیت های مربوط به کاربران از دید سایرین مخفی بوده و هر فرد تنها با دادن پسورد صحیح قادر به مشاهده شیت مختص به خود باشد.ابتدا شیت جدیدی تحت عنوان Welcom ایجاد کنید ، برای مخفی کردن شیتهای حاوی اطلاعات می بایست حداقل یک شیت در اکسل مخفی نباشد در محیط VBA Editor در Workbook کد زیر را بنویسید.
جهت اجرای این کد از رویداد (Event ) Workbook_BeforeClose استفاده شده است ، این رویداد باعث می شود قبل از بسته شدن ورک بوک عملیاتی که مدنظر است اجرا گردد.به طور خلاصه این کد کلیه شیت های ورک بوک جاری بجز شیت welcome را مخفی می نماید. در ادامه به توضیح خط به خط کد می پردزیم:کد PHP:Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim sheet As Worksheet
Application.DisplayAlerts = False
For Each sheet In Worksheets
Select Case sheet.Name
Case "Welcome"
Case Else
Sheets(sheet.Name).Visible = xlVeryHidden
End Select
Next sheet
If Me.Saved = False Then Me.Save
ActiveWorkbook.Close
End Sub
قصد داریم به هنگام بسته شدن فایل پیغامی در خصوص ذخیره سازی فایل صادر نگردد لذا از کد زیر استفاده می کنیم
درصورتی بخواهیم پیغام های اکسل نمایش داده شود می بایست در انتهای رویه عبارت زیر را بیفزاییم:کد PHP:Application.DisplayAlerts = False
نکته دیگر اینکه عدم نمایش پیغام تنها با کد فوق میسر نمیگردد بلکه می بایست کد زیر را نیز در انتهای رویه بنویسیم:کد PHP:Application.DisplayAlerts = True
این کد ورک بوک جاری را خواهد بست.کد PHP:ActiveWorkbook.Close
اما عدم نمایش پیغام ممکن است منجر به عدم ذخیره و از دست رفتن اطلاعات گردد لذا می بایست به هنگام بسته شدن اطلاعات نیز ذخیره گردد:
به طور کلی رویه زیر عملیات ذخیره سازی و بستن فایل را بدون صدور پیغام انجام خواهد داد، لازم به ذکر است استفاده از این بخش اختیاری بوده و عدم استفاده از آن خللی در مقصود اصلی یعنی ایجاد سطح دسترسی وارد نخواهد کرد:کد PHP:If Me.Saved = False Then Me.Save
قسمت دیگر رویه شیت های فایل را پیمایش کرده و غیر از شیت Welcome سایر شیت ها را مخفی می نماید:کد PHP:Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
If Me.Saved = False Then Me.Save
ActiveWorkbook.Close
End Sub
جهت پیمایش همه شیت ها در ابتدای رویه متغیری به نام sheet از نوع worksheet را تعریف کرده ایمکد PHP:For Each sheet In Worksheets
Select Case sheet.Name
Case "Welcome"
Case Else
Sheets(sheet.Name).Visible = xlVeryHidden
End Select
Next sheet
حلقه فوق شیت ها را بر اساس نام پیمایش نموده و در صورتی که نام شیت Welcome نباشد آنرا مخفی می نمایدکد PHP:Dim sheet As Worksheet
کد PHP:Sheets(sheet.Name).Visible = xlVeryHidden
Leave a comment:
-
مخفی کردن کاراکتر های پسورد:
معمولا در هنگام وارد کردن پسورد کاراکتر هایی که وارد می کنید به صورت ستاره نمایش داده می شود ، فرمی که طراحی کرده ایم نیز از این قاعده مستثنی نیست لذا تنظیم لازم را می بایست اجرا کنید.
تکست باکس ایجاد شده در فرم را انتخاب کنید و در پنجره properties در بخش Appearance گزینه Passwordchar را به صورت ستاره (*) (Shift+8) را وارد کنید
نکته : اگر بعد از انتخاب textbox پنجره properties را مشاهده نمیکنید کلید F4 را بفشارید.
تنظیم کمبوباکس حاوی نام های کاربری:
جهت وارد کردن نام کاربری در کمبوباکس محدوده نام های کاربری را در شیت Protectdata می بایست نامگذاری کنیم اما ممکن است لازم باشد تعداد کاربرها افزایش یابد لذا نامگذاری بایست داینامیک باشد به نحوی که با گسترش محدوده نامگذاری نیز توسعه یابد.
برای نام گذاری محدوده از فرمول offset کمک می گیریم:
در همین مرحله محدوده شامل نام های کاربری و نام های عبور را نیز به نام list نام گذاری می کنیم که کاربرد آن را در ادامه خواهید دید:کد PHP:=OFFSET(Protectdata!$A$1;1;0;COUNTA(Protectdata!$A:$A)-1;1)
کد PHP:=OFFSET(Protectdata!$A$1;1;0;COUNTA(Protectdata!$A:$A)-1;2)
در مرحله بعد می بایست این محدوده را به کمبوباکس ایجاد شده در فرم اختصاص دهید لذا مجددا به محیط VBA برگشته ، کمبوباکس را انتخاب نموده و در پنجره properties بخش Data در کادر روبروی Data source عبارت User را وارد کنید.
نکته : برای جلوگیری از تایپ در کادر کمبوباکس خصوصیت Style کمبوباکس را به fmStyleDropDownList تغییر دهید.
Leave a comment:
-
ایجاد فایل:
ابتدا فایل مورد نظر خود را ایجاد می نماییم در این تمرین فایل مورد نظر حاوی سه شیت اصلی USER1،USER2 و USER3 خواهد بود در ادامه شیت های مورد نیاز حسب نیاز ایجاد خواهد شد.
ایجاد فرم:
جهت ایجاد فرم می بایست وارد محیط VBA Editor شوید برای این کار می توانید با فشردن کلید های Alt+ F11 و یا از طریق تب Developer با کلیک بر روی Visual Basic وارد شوید.
نکته:
اگر تب Developer را بر رو نوار منوی خود ندارید می بایست از قسمت File>Option>Customize Ribbon آنرا فعال نمایید کافیست تیک Developer را بزنید.
بعد از ورود به محیط VBA از منوی Insert یک User Form وارد برنامه خود کنید.
فرم اضافه شده به برنامه یک فرم خام است که می بایست کنترل های مورد نیاز خود را از پنجره ToolBox به فرم خود اضافه کنید ، کنترل هایی مورد نیاز ما شامل Text Box ، Combo Box ، Label و Command Button خواهد بود.
در قسمت نام کاربری می بایست سه کار بر فرضی User1,User2,User3 انتخاب شده و در قسمت رمزعبور پسورد موردنظر وارد گردد.
شیت جدیدی ایجاد نموده و در آن نام کاربران خود و پسورد مربوطه را وارد کنید ، این شیت را Protectdata می نامیم.
ستون A شامل نام کاربری و ستون B پسورد مربوط به هر نام است.
Leave a comment:
-
آموزش ایجاد سطح دسترسی در اکسل
سطح دسترسی چیست:
سطح دسترسی مجوزی است که از جانب مدیر یک سیستم به کاربران سیستم جهت انجام امور جاری داده می شود ، این مجوز ممکن است منحصر به فرد بوده و یا بین چند نفر مشترک باشد.
هدف از ایجاد سطح دسترسی:
اهداف گوناگونی برای ایجاد سطح دسترسی می توان در نظر گرفت اما مهم ترین و رایج ترین هدف شامل دو هدف عمده است
- ایجاد امنیت اطلاعات
- جلوگیری از تداخل وظایف
مهمترین تهدید برای اطلاعات یک سیستم سرقت و یا تغییرات ناخواسته توسط افراد غیر مطلع است ، لذا ساز کاری جهت حفظ امنیت اطلاعات می بایست اتخاذ گردد.
تداخل وظایف نیز از تهدیداتی است که متوجه یک سیستم اطلاعاتی است ، دسترسی افراد به حیطه های غیر مرتبط باعث ایجاد سردرگمی و بروز مشکلات گوناگونی می گردد لذا لازم است هر کس تنها به بخشی از اطلاعات مرتبط با حیطه وظایف خود دسترسی داشته باشد.
امنیت در اکسل:
متاسفانه اکسل نرم افزاری با امنیت بسیار پایین است البته لازم به ذکر است این مورد تنها برای کاربران حرفه ای اکسل صدق می کند و کاربران عادی اکسل که بخش عمده ای از افراد را شامل می شوند امکان دسترسی به تمام قسمت های مختلف نرم افزار را نخواهند داشت.
واقعیت غیرقابل انکار این است که اکسل به دلیل عمومیت ، امکانات و سادگی مورد استفاده افراد بسیاری در حیطه های مختلف کاری قرار میگیرد لاجرم برقراری حداکثر امنیتی که اکسل قادر است فراهم کند مورد نیاز است.















Leave a comment: