نمایش نتایج: از شماره 1 تا 5 , از مجموع 5

موضوع: گرفتن امکان دسترسي به محيط اکسل از کاربر

  1. #1


    آخرین بازدید
    2024/01/21
    تاریخ عضویت
    November 2013
    محل سکونت
    تهران
    نوشته ها
    1,519
    امتیاز
    6121
    سپاس
    2,884
    سپاس شده
    4,889 در 1,381 پست
    سطح اکسل
    71.67 %

    گرفتن امکان دسترسي به محيط اکسل از کاربر

    گاهي اوقات شما فايلهايي را تهيه مي کنيد که کاربران بايد در آن اطلاعاتي وارد کرده و پس از پردازش اطلاعات در فايل ياد شده، نتيجه نهايي به کاربر برگردانده شود.
    با توجه به اينکه دستکاري ناخواسته يا کنجکاوي در ساختار فايل يا ناواردي يا اشتباهات کاربران اغلب باعث آسيب ديدگي يا پاک شدن بانکهاي اطلاعاتي و فرمولهاي محاسباتي مي گردد لذا در اين مواقع که کاربر جز ورود اطلاعات خام کار ديگري با اکسل ندارد بهتر است امکان دسترسي به محيط عادي اکسل (يعني شيت ها و سل ها و منوها و ...) از کاربر گرفته شود.
    در زير قصد دارم يکي از راهکارهاي موجود را توضيح دهم:

    روال کار به اين نحو است:
    1- يک فرم تشکيل مي دهيم.
    2- کدي تعريف مي کنيم که در موقع اجراي فايل فرم ياد شده نيز فعال گردد.
    3- تنظيمات فرم را "تمام صفحه" مي کنيم.
    4- ضربدر قرمز بالاي فرم را غير فعال مي کنيم تا کاربر نتواند فرم را ببندد.
    5-روي فرم ياد شده يک دگمه قرار مي دهيم که بستن فايل فقط توسط آن دگمه انجام شود.
    ظاهرا" با انجام مراحل فوق به خواستمان رسيده ايم ..... اما يک مشکل وجود دارد .......
    6- بايد خود برنامه اکسل هم "تمام صفحه" باشد.
    يعني در هنگام اجراي اکسل در ايونت WORKBOOK بايد Application.DisplayFullScreen را مساوي TRUE قرار دهيم.
    وگرنه اگر کاربر برنامه اکسل خود را طوري کوچک کرده باشد که فقط مقداري از مانيتور را شامل شده باشد، شما هم فقط به همان مقدار از فرم مذکور را خواهيد ديد!
    7-يادتان باشد حتما" در دگمه اي که براي بستن فايل روي فرم ايجاد مي کنيد دوباره Application.DisplayFullScreen را به حالت FALSE برگردانيد.

    و اما کدها:
    مرحله 2و6- فعال سازي فرم در هنگام اجراي اوليه فايل (با فرض اينکه نام فرم USERFORM1 باشد) همچنين تمام صفحه کردن برنامه اکسل:

    کد:
    Private Sub WORKBOOK_OPEN
    Application.DisplayFullScreen = True
    UserForm1.Show
    End Sub

    مرحله 3-تمام صفحه کردن تنظيمات خود فرم:
    کد:
    Private Sub UserForm_Activate
    With Application
        Me.Top = .Top
        Me.Left = .Left
        Me.Height = .Height
        Me.Width = .Width
    End With
    End Sub

    مرحله 4-غير فعال کردن ضربدر قرمز بالاي فرم:

    کد:
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer
    If CloseMode = vbFormControlMenu Then Cancel = 1
    End Sub

    مرحله 5و7-اين کد را براي دگمه اي که براي بستن فايل روي فرم قرار داده ام نوشته ام (با فرض اينکه نام دگمه CommandButton1 باشد):
    (توجه کنيد که من کد را به صورتي نوشته ام که حتما" تغييرات فايل قبل از بستن SAVE شود، ولي شما مي توانيد اون خط کد مربوط به SAVE را حذف کنيد تا قبل از بستن از کاربر سوال شود)

    کد:
    Private Sub CommandButton1_Click()
    Dim C As Integer
    C = MsgBox("آيا از برنامه خارج مي شوبد؟", vbOKCancel, "خروج")
    If C = vbOK Then
    Application.DisplayFullScreen = False
    Application.ActiveWorkbook.Save
    Application.ActiveWorkbook.Close
    Else
    Exit Sub
    End If
    End Sub


    اگر براي ورود به قسمت VBA فايل هم رمز بگذاريد ديگر خيالتان راحت خواهد بود که کسي از سر کنجکاوي و اشتباهات ساده فايل را به هم نخواهد ريخت.
    بديهي است اينکه روي فرم اصلي چه چيزهاي ديگري قرار دهيد تا بتوانيد توسط آنها اطلاعات را به فايل انتقال و نتايج را از آن استخراج کنيد ديگر بستگي به ساختار فايل و خلاقيت خودتان داشته و از موضوع اين آموزش خارج است.
    ضمنا" اگر خواستيد خودتان فايل را ويرايش کنيد بهترين راه اين است که اول يک فايل خام اکسل باز کنيد ALT+F11 را زده و سپس پنجره باز شده VBA را کوچک کرده و از قسمت FILE->OPEN در همين فايل خام، فايل اصلي را باز کرده و سپس دوباره پنجره VBA را بزرگ کرده و اقدام به ويرايش کنيد وگرنه بايد ماکرو ها را غير فعال کرده و .....
    اين هم يک فايل نمونه:
    (اول فايل را روي کامپيوتر خود SAVE کنيد بعد باز کنيد تا درست عمل کند- رمز VBA اش 123 است)
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.
    فايل هاي پيوست شده فايل هاي پيوست شده
    ویرایش توسط Ali Parsaei : 2015/03/12 در ساعت 21:38


  2.  

  3. #2


    آخرین بازدید
    3 هفته پیش
    تاریخ عضویت
    October 2013
    نوشته ها
    277
    امتیاز
    106
    سپاس
    117
    سپاس شده
    95 در 60 پست
    سطح اکسل
    62.00 %

    این فرم یک اشکالی که داره اینه که میتونی قسمت بالای فرم رو بگیری و پایین بیاری.که صفحه پشت فرم پیداست.


  4. #3


    آخرین بازدید
    2024/01/21
    تاریخ عضویت
    November 2013
    محل سکونت
    تهران
    نوشته ها
    1,519
    امتیاز
    6121
    سپاس
    2,884
    سپاس شده
    4,889 در 1,381 پست
    سطح اکسل
    71.67 %

    از نکته سنجي شما متشکرم،
    البته موضوع آموزش فوق در ارتباط با گرفتن امکان دسترسي کاربر به محيط اکسل بود و ديدن يا نديدن خود محيط مد نظر نبوده، ولي با اين وجود مي توانيد يک کم اعداد مربوط به مکان و اندازه يوزرفرم را تغيير دهيد تا تيتر بالاي آن در دسترس قرار نگيرد، مثلا" بدين صورت:
    کد PHP:
    Private Sub UserForm_Activate()
    With Application
        Me
    .Top = .Top 50
        Me
    .Left = .Left
        Me
    .Height = .Height 50
        Me
    .Width = .Width
    End With
    End Sub 
    فايل پيوست را هم ببينيد (اول فايل را روي کامپيوتر خود save کنيد، بعد باز کنيد تا درست عمل کند)
    ضمنا" توجه داشته باشيد که اصولا" اکسل از لحاظ کلي از نظر امنيت در سطح بالايي نيست و اين کارها فقط جهت جلوگيري از فضولي! يا کنجکاوي يا اشتباهات عادي کاربران است و نه جلوگيري از دسترسي هکرها! به اطلاعات
    يا مثلا" با غير فعال کردن ماکروها ديگر کل نکات فوق بي اعتبار خواهد شد!، ليکن به کارگيري مجموعه اي از نکات از قبيل موارد ياد شده مي تواند تا حد زيادي از خرابي و از دست رفتن اطلاعات جلوگيري نمايد.
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: xlsm ee.xlsm اطلاعات (15.7 کیلو بایت, 62 نمایش)
    ویرایش توسط Ali Parsaei : 2016/01/22 در ساعت 09:49


  5. #4


    آخرین بازدید
    2022/05/31
    تاریخ عضویت
    May 2013
    محل سکونت
    اهواز
    نوشته ها
    176
    امتیاز
    177
    سپاس
    117
    سپاس شده
    131 در 63 پست
    تعیین سطح نشده است

    mobinsaffarpour به Yahoo ارسال پیام
    سلام دوستان این هم یک نمونه دیگه
    فايل هاي پيوست شده فايل هاي پيوست شده


  6. #5


    آخرین بازدید
    2024/01/21
    تاریخ عضویت
    November 2013
    محل سکونت
    تهران
    نوشته ها
    1,519
    امتیاز
    6121
    سپاس
    2,884
    سپاس شده
    4,889 در 1,381 پست
    سطح اکسل
    71.67 %

    با تشکر از جناب صفرپور بابت فايل ارسالي،
    اتفاقا" فايل ايشان خيلي نمونه خوبي است تا اين تاپيک تکميل تر گردد،
    روشي که در فايل مربوطه اعمال شده نيز يکي از راههاي ممکن است فقط بايد توجه داشت که اين روش کل application اکسل را مخفي مي کند، يعني کل فايلهاي باز اکسل مخفي مي شوند.

  7. سپاس ها (1)



اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. فرمول ايجاد تاريخ شمسي
    توسط kindcrasher در انجمن توابع اکسل - Excel Functions
    پاسخ ها: 14
    آخرين نوشته: 2018/09/16, 11:39
  2. محاسبات روي تاريخ شمسي بدون استفاده از add-in يا توابع شمسي
    توسط Ali Parsaei در انجمن توابع اکسل - Excel Functions
    پاسخ ها: 8
    آخرين نوشته: 2014/10/26, 17:06
  3. اصلاح حرف ي فارسي
    توسط Ali Parsaei در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 15
    آخرين نوشته: 2014/04/27, 17:00
  4. آموزشی راه حل هاي كاربردن تاريخ شمسي
    توسط exceliran در انجمن تالار آموزش اکسل
    پاسخ ها: 0
    آخرين نوشته: 2010/03/05, 09:17

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

غیذفعال کردن دسترسی به کد اکسل

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است