عدم کپی شیت و داده های آن در شیت دیگر

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • intro

    • 2010/11/29
    • 140
    • 68.00

    عدم کپی شیت و داده های آن در شیت دیگر

    سلام
    شیتی درست کردم تا کاربران بتونند قسمتی از داده های مورد نیازم رو وارد نمایند .
    این شیت شامل دو قسمت است که به یه سری اطلاعات نباید دسترسی داشته باشند بنابراین اون سلهارو protect کردم
    قسمت هایی از این شیت رو باز گذاشتم تا داده ها را واردنمایند .
    در این میان با تعدادی از کاربران که بعضا شیطنت هم می کنند به مشکل برخوردم . شیت منو در یه شیت جدیدی که باز می کنن کپی نموده با این کار شیت از حالت protect خارج می شود و به راحتی دستکاری می کنند.
    1-میشه با استفاده از کد نویسی اجازه کپی کردن رو از کاربران گرفت؟
    2- چه کد بنویسم کاربران شیت جدیدی نتوانند ایجاد کنند؟
    [COLOR=#800000][FONT=tahoma]مواظب باشید به تابوت من آگهی تبلیغاتی نچسبانند (حسين پناهي)[/FONT][/COLOR]
  • Ali Parsaei
    مدير تالارتوابع اکسل

    • 2013/11/18
    • 1522
    • 71.67

    #2
    سلام،
    ورک بوک را نيز پروتکت کنيد و ضمنا" در هنگام پروتکت کردن شيت امکان انتخاب سل ها را هم از کاربر بگيريد، (تيکش را برداريد).
    البته باز هم مي توانند مثلا" يک اکسل جديد باز کنند و خانه هايش را مساوي خانه هاي اين يکي قرار دهند و مقادير را ببينند ولي اگر فرمول داشته باشيد فرمولها را ديگر نمي توانند ببينند!
    [SIGPIC][/SIGPIC]

    کامنت

    • intro

      • 2010/11/29
      • 140
      • 68.00

      #3
      سلام ممنون از جواب
      ببینید در این صورت هم میشه فایل جدید باز کرد و کل شیت را در اون کپی کرد.
      کپی باز هم فعال هست.یعنی بند 1 هنوز هست
      [COLOR=#800000][FONT=tahoma]مواظب باشید به تابوت من آگهی تبلیغاتی نچسبانند (حسين پناهي)[/FONT][/COLOR]

      کامنت

      • iranweld

        • 2015/03/29
        • 3341

        #4
        با سلام
        ماکرویی قرار بدید که در صورت اضافه شدن شیت جدید اون شیت حذف بشه در این ماکرو شیت بیشتر از 3 حذف میشود

        کد PHP:
        Sub GetWsNames()
        ThisWorkbook.Worksheets.Count
        For 1 To y
           
          
        If 3 Then
          
          Sheets
        (y).Select
          
         Application
        .DisplayAlerts False
            ActiveWindow
        .SelectedSheets.Delete
          
          End 
        If
          
        ThisWorkbook.Worksheets.Count
        Next x
        End Sub 

        کامنت

        • Ali Parsaei
          مدير تالارتوابع اکسل

          • 2013/11/18
          • 1522
          • 71.67

          #5
          نوشته اصلی توسط intro
          سلام ممنون از جواب
          ببینید در این صورت هم میشه فایل جدید باز کرد و کل شیت را در اون کپی کرد.
          کپی باز هم فعال هست.یعنی بند 1 هنوز هست
          کپي نمي شود کرد!
          فقط با فرمول نويسي به مقادير مي شود دسترسي پيدا کرد، که البته اگر مقادير را مخفي نکرده باشيد در همان شيت اصلي هم مي توانند آنها را ببينند!
          فقط اگر فرمول نويسي کرده باشيد به اين طريق مي توان جلوي دسترسي به فرمولها را گرفت.
          تا آنجايي که من اطلاع دارم کلا" اکسل از لحاظ امنيت در سطح بالايي نيست، نهايت با نرم افزارهاي مخصوص مي توانند رمزها را باز کنند!
          شما فقط مي توانيد با اعمال محدوديت ها و ترفندهايي دامنه فعاليت افرادي که از سر کنجکاوي و شيطنت فايل را دستکاري مي کنند را محدود کنيد. ولي اگر کسي واقعا" قصد دزدي اطلاعات يا خرابکاري با منظور خاص را داشته باشد کاري از دست شما ساخته نيست.
          اين فايل را نگاه کنيد ببينيد اون طور که شما فرموديد آيا کپي مي شود کرد:
          فایل های پیوست شده
          [SIGPIC][/SIGPIC]

          کامنت

          • intro

            • 2010/11/29
            • 140
            • 68.00

            #6
            سلام دوستان باتشکر از ارسال پاسختون
            ببینید بنده دو مورد عرض کرده بودم یکی جلوگیری از کپی (یعنی برای کاربران امکان یا مد کپی بسته بشه)
            دومی عدم ابجاد شیت جدید است که دومی با protect sheet حل شد ولی کدی برای جلوگیری کردن یا غیرفعال کردن کپی نیافتم
            [COLOR=#800000][FONT=tahoma]مواظب باشید به تابوت من آگهی تبلیغاتی نچسبانند (حسين پناهي)[/FONT][/COLOR]

            کامنت

            • intro

              • 2010/11/29
              • 140
              • 68.00

              #7
              سلام
              یکی از دوستان سایتی معرفی کرد و کدهای مورد نظرم را اونجا پیدا کردم
              برای استفاده دوستان این کدها رو اینجام هم قرار میدم
              کد PHP:
               '*** In a standard module ***
              Option Explicit 
               
              Sub ToggleCutCopyAndPaste(Allow As Boolean) 
                   '
              Activate/deactivate cutcopypaste and pastespecial menu items
                  Call EnableMenuItem
              (21Allow' cut
                  Call EnableMenuItem(19, Allow) ' 
              copy
                  Call EnableMenuItem
              (22Allow' paste
                  Call EnableMenuItem(755, Allow) ' 
              pastespecial
                   
                   
              'Activate/deactivate drag and drop ability
                  Application.CellDragAndDrop = Allow 
                   
                   '
              Activate/deactivate cutcopypaste and pastespecial shortcut keys
                  With Application 
                      Select 
              Case Allow 
                      
              Case Is False 
                          
              .OnKey "^c""CutCopyPasteDisabled" 
                          
              .OnKey "^v""CutCopyPasteDisabled" 
                          
              .OnKey "^x""CutCopyPasteDisabled" 
                          
              .OnKey "+{DEL}""CutCopyPasteDisabled" 
                          
              .OnKey "^{INSERT}""CutCopyPasteDisabled" 
                      
              Case Is True 
                          
              .OnKey "^c" 
                          
              .OnKey "^v" 
                          
              .OnKey "^x" 
                          
              .OnKey "+{DEL}" 
                          
              .OnKey "^{INSERT}" 
                      
              End Select 
                  End With 
              End Sub 
               
              Sub EnableMenuItem
              (ctlId As IntegerEnabled As Boolean
                   
              'Activate/Deactivate specific menu item
                  Dim cBar As CommandBar 
                  Dim cBarCtrl As CommandBarControl 
                  For Each cBar In Application.CommandBars 
                      If cBar.Name <> "Clipboard" Then 
                          Set cBarCtrl = cBar.FindControl(ID:=ctlId, recursive:=True) 
                          If Not cBarCtrl Is Nothing Then cBarCtrl.Enabled = Enabled 
                      End If 
                  Next 
              End Sub 
               
              Sub CutCopyPasteDisabled() 
                   '
              Inform user that the functions have been disabled
                  MsgBox 
              "Sorry!  Cutting, copying and pasting have been disabled in this workbook!" 
              End Sub 
               
               
              '*** In the ThisWorkbook Module ***
              Option Explicit 
               
              Private Sub Workbook_Activate() 
                  Call ToggleCutCopyAndPaste(False) 
              End Sub 
               
              Private Sub Workbook_BeforeClose(Cancel As Boolean) 
                  Call ToggleCutCopyAndPaste(True) 
              End Sub 
               
              Private Sub Workbook_Deactivate() 
                  Call ToggleCutCopyAndPaste(True) 
              End Sub 
               
              Private Sub Workbook_Open() 
                  Call ToggleCutCopyAndPaste(False) 
              End Sub 
              [COLOR=#800000][FONT=tahoma]مواظب باشید به تابوت من آگهی تبلیغاتی نچسبانند (حسين پناهي)[/FONT][/COLOR]

              کامنت

              • intro

                • 2010/11/29
                • 140
                • 68.00

                #8
                سلام
                یه موضوع دیگه و اون اینه که این کدها رو بخواهیم اجرا بکنیم نیاز به نصب سرویس پک می باشد و اگه اونو نصب نکنیم کدهای بالایی اجرا نمی شوند.
                باتوجه به اینکه این فایل رو برای کسانی می فرستم که در دسترس من نیستند و کاربران خارج از محل کار من هستند دو تا مشکل دارم
                1-نصب سرویس پک رو بلد نیستند
                2-امکان فعال سازی ماکرو ها از آپشن اکسل (ترسات سیتینگ) رو هم بلد نیستن
                دوستان می تونین راهنمایی بفرمایین
                [COLOR=#800000][FONT=tahoma]مواظب باشید به تابوت من آگهی تبلیغاتی نچسبانند (حسين پناهي)[/FONT][/COLOR]

                کامنت

                • mokaram
                  مدير تالار اکسل و بانک اطلاعاتی

                  • 2011/02/06
                  • 1805
                  • 74.00

                  #9
                  نوشته اصلی توسط intro
                  سلام

                  امکان فعال سازی ماکرو ها از آپشن اکسل (ترسات سیتینگ) رو هم بلد نیستن
                  دوستان می تونین راهنمایی بفرمایین
                  به لینک های زیر سری بزنید

                  فایل اجرایی اکسل

                  exe کردن فایل اکسل





                  [CENTER][IMG]http://forum.exceliran.com/signaturepics/sigpic909_10.gif[/IMG]
                  [/CENTER]

                  کامنت

                  • intro

                    • 2010/11/29
                    • 140
                    • 68.00

                    #10
                    باسلام
                    ازراهنمایی های که ارایه دادید متشکرم اما نتونستم در کامپیوترهایی که اکسل آپشن اونو (تراست سیتینگ)تغییر ندادم اجرا کنم .
                    ممنون میشم راهنمایی بفرمایید
                    [COLOR=#800000][FONT=tahoma]مواظب باشید به تابوت من آگهی تبلیغاتی نچسبانند (حسين پناهي)[/FONT][/COLOR]

                    کامنت

                    چند لحظه..