Bloquear el copiar

06/07/2005 - 19:06 por Raúl | Informe spam
Saludos. Lo que pretrendo es que en una hoja de cálculo que van a abrir mis
usuarios no tengan la oportunidad de copiar lo que hay en una celda, es
decir que cuando por ejemplo le den al boton derecho del ratón que les salga
el copiar deshabilitado. Esto supongo que se hace a nivel de registro, pero
habria que implementarlo en una macro o algo así para que cuando un usuario
lo abra desde su máquina le aparezca deshabilitado y no tener que ir tocando
registro a registro en cada máquina de usuario. Alguna sugerencia?
Gracias

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
07/07/2005 - 03:36 | Informe spam
hola, Raúl !

... pretrendo... que en una hoja de calculo... mis usuarios no tengan la oportunidad de copiar lo que hay en una celda [...]



hay varias alternativas para evitar [hasta un 'cierto grado'] el uso de Copiar_Cortar_Pegar
ademas de los botones, estan los 'atajos' {Ctr}+C, {Ctrl}+X, {Ctrl}+V, {Mayusc}+{Insert} [etc.]
... inclusive, se podrian crear "al vuelo" mas botones [si ya 'los tenias bloqueados'] :((

te paso un 'arranque' en seguida y... si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.
=-> la mas 'sencilla' seria utilizar -> Application.CutCopyMode = False <-
[en los modulos de eventos de hojas y libro p.e.]
en el evento '_selectionchange [de la/s hoja/s]
en los eventos '_activate' y '_deactivate' [de la/s hoja/s y del libro]

-> otra seria el uso de los mismos eventos con apoyo de codigo +/- como el siguiente:
en un modulo de codigo 'normal' nota: el 'CXV' es solo por las letras de los atajos :))
' macro para 'cancelar' el uso de cualquier boton y atajos de copiado/pegado '
Sub CXV_No()
CXV_Si_No 19, False: CXV_Si_No 21, False
CXV_Si_No 22, False: CXV_Si_No 755, False
With Application
.OnKey "^x", "": .OnKey "^c", "": .OnKey "^v", "": .OnKey "+{Del}", "": .OnKey "+{Insert}", ""
.EditDirectlyInCell = False: .CellDragAndDrop = False
End With: CommandBars("ToolBar List").Enabled = False
End Sub

' macro para 'liberar' el uso de los botones y atajos de copiado/pegado '
Sub CXV_Si()
CXV_Si_No 19, True: CXV_Si_No 21, True
CXV_Si_No 22, True: CXV_Si_No 755, True
With Application
.OnKey "^x": .OnKey "^c": .OnKey "^v": .OnKey "+{Del}": .OnKey "+{Insert}"
.EditDirectlyInCell = True: .CellDragAndDrop = True
End With: CommandBars("ToolBar List").Enabled = True
End Sub

' funcion auxiliar para 'cancelar/liberar' el uso de los comandos '
Private Function CXV_Si_No(Num As Integer, Si_No As Boolean)
Dim Barra As CommandBar, Boton As CommandBarControl
On Error Resume Next
For Each Barra In Application.CommandBars
Set Boton = Barra.FindControl(Id:=Num, Recursive:=True)
If Not Boton Is Nothing Then Boton.Enabled = Si_No
Next: Set Boton = Nothing
End Function

nota: las dos opciones anteriores podrian 'presentar' la siguiente falla:
que pasa si el usuario abre el libro 'SIN permiso' de usar macros?
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida