ماکرویی برای غیر فعال کردن راست کلیک فقط در فایل مورد نظر

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • taocom52

    • 2015/08/14
    • 99

    [حل شده] ماکرویی برای غیر فعال کردن راست کلیک فقط در فایل مورد نظر

    با سلام و درود بر اساتید محترم
    میخواستم جهت جلوگیری از استفاده کاربر از راست کلیک در صفحه اکسل و زبانه های شیتها ،ماکرویی داشته باشم لذا در مراجعه به سایت جند مورد بودند که استفاده کردم ولی متاسفانه درکل فایلهای اکسل راست کیک از کار افتاده البته گویا این مشکل برای دیگر دوستان نیز پیش آمده ولی نتیجه نهایی را متاسفانه نتونستم پیدا کنم لذا مجبورم دوباره اکسل نصب کنم لذا خواشمند ام ماکرویی بفرمایید که فقط در فایل مورد نظر کار کنه و شورت کاتهای راست کلیک را هم شامل بشه البته آدرسی در سایت برای این موضوع بود که متاسفانه از بین رفته .
    بسیار متشکرم
  • amir_ts

    • 2015/03/17
    • 1247

    #2
    با سلام
    از این کد در شیت دلخواه استفاده کنید.
    کد:
    [LEFT]
    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
        Cancel = True
        MsgBox ("متاسفانه راست کليک در اين شيت غير فعال است.")
        End Sub
    [/LEFT]
    از این کد هم برای کل شیت ها (workbook) میتونید استفاده کنید.(کد رو باید در thisworkbook قرار بدید.)
    کد:
    [LEFT]
    Private Sub Workbook_SheetBeforeRightClick _
        (ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
        Cancel = True
        MsgBox (" متاسفانه در کليه شيت ها راست کليک غير فعال است.")
        End Sub
    [/LEFT]
    فایل های پیوست شده
    [SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]

    کامنت

    • taocom52

      • 2015/08/14
      • 99

      #3
      متشکرم از جوابتان ، اگر بخواهیم راست کلیک رو زبانه شیتهای دلخواه (زبانه های موجود در پایین صفحه)هم کارنکند چه کنیم؟ و چه راهی هست که کاربر نتواند شیت جدیدی اضافه یا پاک کند؟

      کامنت

      • amir_ts

        • 2015/03/17
        • 1247

        #4
        با سلام
        برای مخفی کردن/ نمایش کلیک راست در Sheet Tab از کد های زیر استفاده کنید.
        کد:
        [LEFT]
         Sub disablerightclick()
          Application.CommandBars("Ply").Enabled = False
         End Sub
         Sub Ensaberightclick()
          Application.CommandBars("Ply").Enabled = True
         End Sub
        
        [/LEFT]
        برای عدم امکان ایجاد شیت جدید از کد زیر استفاده کنید.
        کد:
        [LEFT]
        Private Sub Workbook_NewSheet(ByVal Sh As Object)
             
            With Application
                .ScreenUpdating = False
                .DisplayAlerts = False
                 
                         ActiveSheet.Delete
                 
                MsgBox "متاسفانه شما قادر به اضافه کردن شيت جديد نميباشيد.", 16
                 
                         
                         .DisplayAlerts = True
                .ScreenUpdating = True
            End With
             
        End Sub
        
        [/LEFT]
        فایل های پیوست شده
        [SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]

        کامنت

        • taocom52

          • 2015/08/14
          • 99

          #5
          متشکرم استاد فقط میخواستم بدونم اگر این کدها را استفاده کنم کل برنامه های اکسل را شامل میشه یا فقط در فایل و شیت منتخب اعمال میشون ، همونطور که قبلا عرض کردم قبلا از کدی استفاده کردم که متاسفانه راست کلیک همه فایلهای اکسلم رو از کار انداخته و بایستی دوباره آفیس نصب کنم.

          کامنت

          • amir_ts

            • 2015/03/17
            • 1247

            #6
            با سلام
            این کدها بنا به قرار گیری در فایل مورد نظر اجرا شده و ارتباطی با فایل های دیگه ندارند.
            [SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]

            کامنت

            • taocom52

              • 2015/08/14
              • 99

              #7
              متشکرم

              کامنت

              چند لحظه..