Macro cn problemas

28/09/2004 - 18:09 por Daniel | Informe spam
Encontra para mi suerte la sgte. macro en el foro pero hay algunos
inconvenientes, si alguien me puede ayudar se lo agradecere

Private Sub Workbook_BeforePrint(Cancel As Boolean)
mypassword = "soloyo"
yourpassword = "test"
words = "Por favor, introduce tu password. Solo tienes una oportunidad."
topwords = "Trial Version - password requerido para imprimir"
tester = InputBox(words, topwords)
If tester = mypassword Or tester = yourpassword Then
MsgBox ("Lo siento. Fallaste, no puedo permitirte la impresión.")
Cancel = True
Exit Sub
else
End If
MsgBox ("Password correcto. La impresión esta en curso")
End Sub


Sin poner la clave, le doy Cancelar o enter imprime el documento.
Si le pongo cualquier clave tambíen imprime el documento.
Si le pongo la clave "soloyo" o "test" ahi no imprime el documento.
Cuando le pongo una clave aparece en la ventana de dialogo la palabra que
escribo,
se puede o existe una forma q solo aparezca asterisco como cuando se
ponen claves para q la otra persona no pueda verlo.
Podrian por favor ayudarme, no soy experto en excel pero esta macro
seria perfecta para mis trabajos en los libros ya q hay reportes
finales q conviene q solo una persona los imprima.
 

Leer las respuestas

#1 Héctor Miguel
28/09/2004 - 23:32 | Informe spam
hola, Daniel !

Encontre ... la sgte. macro en el foro pero hay algunos inconvenientes [...]
Sin poner la clave, le doy Cancelar o enter imprime el documento.
Si le pongo cualquier clave tambien imprime el documento.
Si le pongo la clave "soloyo" o "test" ahi no imprime el documento.



=> [hasta este punto]... solo tienes ->invertida<- la condicion...
[realmente] 'le estas diciendo' que... si responde 'acertadamente'... =>cancele<= :((
[creo que] te resultara 'mas claro' en el ejemplo que pongo al final :))

Cuando le pongo una clave aparece en la ventana de dialogo la palabra que escribo
... q solo aparezca asterisco como cuando se ponen claves para q la otra persona no pueda verlo.



=> para este punto... se requiere 'diseñar' un formulario [userform] con un control 'textbox'
[en las propiedades del control, aplicas la de 'passwordchar' con 'cualquier' caracter]

solo un comentario adicional...
el evento '_beforeprint' TAMBIEN es 'disparado' cuando el usuario decide usar la 'vista preliminar de impresion'
[por lo cual] si 'desde ahi' TAMBIEN 'decide' iniciar el proceso de impresion... nuevamente 'sera inquirido' :((

saludos,
hector.
en el modulo de codigo del libro [ThisWorkbook ?] ==Private Sub Workbook_BeforePrint(Cancel As Boolean)
Select Case InputBox( _
"Indica por favor tu clave de acceso.", _
"Privilegios del impresor...")
Case "soloyo", "test"
MsgBox "Clave aceptada. Iniciando proceso..."
Case Else
MsgBox "Por favor, llama al operador correspondiente.", , _
"Clave rechazada..."
Cancel = True
End Select
End Sub

Preguntas similares