Risultati da 1 a 3 di 3

Discussione: Impedire comando taglia e incolla



  1. #1
    L'avatar di heavyduty79
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    cagliari
    Età
    38
    Messaggi
    1
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    0

    Impedire comando taglia e incolla

    Ciao a tutti, appena iscritto a questo forum e subito propongo un quesito che non sono riuscito a risolvere da solo e con l'ausilio di altri esperti.
    Ho sviluppato un file xls molto complesso caratterizzato da molti fogli e formule che dovrà essere utilizzato da molti utenti. Ho protetto il foglio ma ciò non impedisce che sia possibile fare taglia e incolla di celle, cosa che evidentemente vorrei evitare per preservare l'integrità dello stesso file.
    Sono un utente esperto ma non ho dimestichezza con vba.
    Ciò che vorrei è impedire il taglia e/o l'incolla di valori tagliati. Intendo via barra multifunzione, menu di tasto destro e combinazione di tasti. Sono riuscito per il momento solo a impedire il comando con le ultime due modalità. L'ideale sarebbe una macro che impedisce tutto insieme, ma che dia la possibilità di fare copia e incolla quanto meno di valori copiati da altri file.
    Aspetto fiducioso vostri riscontri.

  2. #2
    L'avatar di Alessandro
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Roma
    Età
    45
    Messaggi
    851
    Versione Office
    2010 64 bit
    Likes ricevuti
    113
    Likes dati
    61
    ciao,
    se il tuo intento è quello di preservare i dati...temo che sia impossibile o molto molto difficile...
    in ogni modo, così al volo per il semplice copia incolla prova, quando stai per proteggere i dati, nelle "operazioni consentite..." del proteggi foglio, a defleggare il primo check "seleziona cella bloccate".
    sempre che il tuo intento sia quello di limitare l'acquisizione dei dati.
    ciao
    ale

  3. #3
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3334
    Versione Office
    2013 PC
    Likes ricevuti
    481
    Likes dati
    49
    Citazione Originariamente Scritto da heavyduty79 Visualizza Messaggio
    Ciao a tutti, appena iscritto a questo forum e subito propongo un quesito che non sono riuscito a risolvere da solo e con l'ausilio di altri esperti.
    Ho sviluppato un file xls molto complesso caratterizzato da molti fogli e formule che dovrà essere utilizzato da molti utenti. Ho protetto il foglio ma ciò non impedisce che sia possibile fare taglia e incolla di celle, cosa che evidentemente vorrei evitare per preservare l'integrità dello stesso file.
    Sono un utente esperto ma non ho dimestichezza con vba.
    Ciò che vorrei è impedire il taglia e/o l'incolla di valori tagliati. Intendo via barra multifunzione, menu di tasto destro e combinazione di tasti. Sono riuscito per il momento solo a impedire il comando con le ultime due modalità. L'ideale sarebbe una macro che impedisce tutto insieme, ma che dia la possibilità di fare copia e incolla quanto meno di valori copiati da altri file.
    Aspetto fiducioso vostri riscontri.
    Ciao Heavy non so quale sia il grado di conoscenza di excel delle persone che utilizzano il file che vuoi preservare. Ho trovato i giro questo codice che fa quanto desideri ma, naturalmente, è VBA e quindi anche se protetto gli smanettoni riescono a metterci le mani. Vedi un po' tu.

    Codice: 
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    
    On Error Resume Next
    
    
    With Application
        .CellDragAndDrop = True
        .OnKey "^c"
        .OnKey "^v"
        .OnKey "^x"
        .OnKey "+{DEL}"
        .OnKey "^{INSERT}"
        .CutCopyMode = False
    End With
    
    
    Dim Ctrl As Office.CommandBarControl
    
    
    For Each Ctrl In Application.CommandBars.FindControls(Id:=19) 'copy
        Ctrl.Enabled = True
    Next Ctrl
    For Each Ctrl In Application.CommandBars.FindControls(Id:=21) ' Cut
        Ctrl.Enabled = True
    Next Ctrl
    For Each Ctrl In Application.CommandBars.FindControls(Id:=22) ' Paste
        Ctrl.Enabled = True
    Next Ctrl
    For Each Ctrl In Application.CommandBars.FindControls(Id:=755) ' Paste Special
        Ctrl.Enabled = True
    Next Ctrl
    
    
    End Sub
    
    
    Private Sub Workbook_Open()
        
    On Error Resume Next
        
    With Application
        .CutCopyMode = False
        .CellDragAndDrop = False
        .OnKey "^c", ""
        .OnKey "^v", ""
        .OnKey "^x", ""
        .OnKey "+{DEL}", ""
        .OnKey "^{INSERT}", ""
    End With
       
    Dim Ctrl As Office.CommandBarControl
    
    
    For Each Ctrl In Application.CommandBars.FindControls(Id:=19) ' Copy
        Ctrl.Enabled = False
    Next Ctrl
    For Each Ctrl In Application.CommandBars.FindControls(Id:=21) ' Cut
        Ctrl.Enabled = False
    Next Ctrl
    For Each Ctrl In Application.CommandBars.FindControls(Id:=22) ' Paste
        Ctrl.Enabled = False
    Next Ctrl
    For Each Ctrl In Application.CommandBars.FindControls(Id:=755) ' Paste Special
        Ctrl.Enabled = False
    Next Ctrl
        
    End Sub
    
    
    Private Sub Workbook_Activate()
    
    
    On Error Resume Next
        
    With Application
        .CutCopyMode = False
        .CellDragAndDrop = False
        .OnKey "^c", ""
        .OnKey "^v", ""
        .OnKey "^x", ""
        .OnKey "+{DEL}", ""
        .OnKey "^{INSERT}", ""
    End With
        
        Dim Ctrl As Office.CommandBarControl
        
    For Each Ctrl In Application.CommandBars.FindControls(Id:=19) ' Copy
        Ctrl.Enabled = False
    Next Ctrl
    For Each Ctrl In Application.CommandBars.FindControls(Id:=21) ' Cut
        Ctrl.Enabled = False
    Next Ctrl
    For Each Ctrl In Application.CommandBars.FindControls(Id:=22) ' Paste
        Ctrl.Enabled = False
    Next Ctrl
    For Each Ctrl In Application.CommandBars.FindControls(Id:=755) ' Paste Special
        Ctrl.Enabled = False
    Next Ctrl
       
    End Sub
    
    
    Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    
    
    Cancel = True
    MsgBox "Il tasto destro è disattivato per questo file", vbInformation, _
    "ATTENZIONE"
    
    
    End Sub
    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
         Application.CutCopyMode = False
    End Sub
    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
        
    On Error Resume Next
        
    With Application
        .CutCopyMode = False
        .CellDragAndDrop = False
        .OnKey "^c", ""
        .OnKey "^v", ""
        .OnKey "^x", ""
        .OnKey "+{DEL}", ""
        .OnKey "^{INSERT}", ""
    End With
        
    Dim Ctrl As Office.CommandBarControl
    For Each Ctrl In Application.CommandBars.FindControls(Id:=19) ' Copy
        Ctrl.Enabled = False
    Next Ctrl
    For Each Ctrl In Application.CommandBars.FindControls(Id:=21) ' Cut
        Ctrl.Enabled = False
        Next Ctrl
    For Each Ctrl In Application.CommandBars.FindControls(Id:=22) ' Paste
        Ctrl.Enabled = False
    Next Ctrl
    For Each Ctrl In Application.CommandBars.FindControls(Id:=755) ' Paste Special
        Ctrl.Enabled = False
    Next Ctrl
        
    End Sub
    Private Sub Workbook_Deactivate()
    
    
    On Error Resume Next
    
    
    With Application
        .CellDragAndDrop = True
        .OnKey "^c"
        .OnKey "^v"
        .OnKey "^x"
        .OnKey "+{DEL}"
        .OnKey "^{INSERT}"
        .CutCopyMode = False
    End With
    
    
    Dim Ctrl As Office.CommandBarControl
    
    
    For Each Ctrl In Application.CommandBars.FindControls(Id:=19) ' Copy
        Ctrl.Enabled = True
    Next Ctrl
    For Each Ctrl In Application.CommandBars.FindControls(Id:=21) ' Cut
        Ctrl.Enabled = True
    Next Ctrl
    For Each Ctrl In Application.CommandBars.FindControls(Id:=22) ' Paste
        Ctrl.Enabled = True
    Next Ctrl
    For Each Ctrl In Application.CommandBars.FindControls(Id:=755) ' Paste Special
        Ctrl.Enabled = True
    Next Ctrl
    
    
    End Sub
    
    Ciao.
    File Allegati File Allegati

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  4. I seguenti 2 utenti hanno dato un "Like" a Baloon_50 per questo post:


Discussioni Simili

  1. [Risolto] Impedire cancellazione riga
    Di G.Bove nel forum Domande su Excel VBA e MACRO
    Risposte: 8
    Ultimo Messaggio: 05/02/17, 08:59
  2. [Risolto] Impedire la modifica su specifiche celle
    Di Domynix nel forum Domande su Excel in generale
    Risposte: 15
    Ultimo Messaggio: 07/01/17, 15:17
  3. [Risolto] Taglia _ Copia _ incolla
    Di A.Maurizio nel forum Domande su Excel VBA e MACRO
    Risposte: 9
    Ultimo Messaggio: 20/10/16, 18:19
  4. Taglia/Copia/Incolla Senza Indirizzi precisi
    Di A.Maurizio nel forum Domande su Excel VBA e MACRO
    Risposte: 6
    Ultimo Messaggio: 17/10/16, 12:10
  5. Impedire l'eliminazione di un file word
    Di CRISTIAN nel forum Domande sul Microsoft Word
    Risposte: 3
    Ultimo Messaggio: 01/06/16, 15:44

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •