Formulario que no se imprima si no se rellena

23/02/2006 - 13:49 por Aitor Uranga | Informe spam
Hola, estoy intentando hacer una plantilla de Word, y me interesa por
ejemplo si es la plantilla de una carta, que arriba a la derecha tenga un
campo de formulario en el que ponga "escribe aquí el nombre del
destinatario" y que si no lo escribe al imprimirlo no se imprima este texto,
pero en cambio si escribe el nombre que si se imprima, es algo parecido a lo
que te sale cuando utilizas una plantilla de Power point.

Gracias y un saludo.

Preguntas similare

Leer las respuestas

#1 Marta PM [MVP Office]
23/02/2006 - 14:43 | Informe spam
Hola:
A ver si lo he entendido. Si no se rellena ese campo de formulario que no permita la
impresión del documento y que sí se rellena sí permita imprimir. ¿Es correcto?
Si mi suposición es correcta entonces podrías incluir dos macros en tu documento que
capturen el evento Imprimir (uno para la opción Imprimir del menú Archivo y otro para
la opción Imprimir de la barra de herramientas) y que no permitan imprimir haste que
en ese campo exista algún valor.
Podría ser algo como esto:
Sub FilePrint()
If (Len(ActiveDocument.FormFields("Texto1").Result) = 0) Then
MsgBox "Por favor, rellene el campo"
Else
Application.PrintOut
End If
End Sub
Sub FilePrintDefault()
If (Len(ActiveDocument.FormFields("Texto1").Result) = 0) Then
MsgBox "Por favor, rellene el campo"
Else
Application.PrintOut
End If
End Sub

donde FormFields("Texto1") corresponde al nombre del marcador del campo del
formulario (que puedes ver si pulsas con el botón derecho sobre el campo y eliges
propiedades)
¿Comentas?

Marta PM
Saúdos/Saludos
MVP Office

(Si quieres escribirme ya sabes lo que no quiero)
Más consejos en www.fermu.com
__________
La información contenida en este mensaje se proporciona "TAL CUAL", sin garantías
explícitas ni implícitas, y no otorga derecho alguno. Usted asume cualquier riesgo al
poner en práctica lo recomendado o sugerido en el presente mensaje.

¿Quieres saber que es un MVP?
http://mvp.support.microsoft.com/

"Aitor Uranga" escribió en el mensaje
news:
Hola, estoy intentando hacer una plantilla de Word, y me interesa por
ejemplo si es la plantilla de una carta, que arriba a la derecha tenga un
campo de formulario en el que ponga "escribe aquí el nombre del
destinatario" y que si no lo escribe al imprimirlo no se imprima este texto,
pero en cambio si escribe el nombre que si se imprima, es algo parecido a lo
que te sale cuando utilizas una plantilla de Power point.

Gracias y un saludo.



Respuesta Responder a este mensaje
#2 Aitor Uranga
23/02/2006 - 16:26 | Informe spam
No, no me as entendido bien, si en el campo no han cambiado el valor
"escribe aquí el nombre" se imprime el documento, pero no el campo.

Me entiendes?

Gracias.
"Marta PM [MVP Office]" escribió en el
mensaje news:
Hola:
A ver si lo he entendido. Si no se rellena ese campo de formulario que no


permita la
impresión del documento y que sí se rellena sí permita imprimir. ¿Es


correcto?
Si mi suposición es correcta entonces podrías incluir dos macros en tu


documento que
capturen el evento Imprimir (uno para la opción Imprimir del menú Archivo


y otro para
la opción Imprimir de la barra de herramientas) y que no permitan imprimir


haste que
en ese campo exista algún valor.
Podría ser algo como esto:
Sub FilePrint()
If (Len(ActiveDocument.FormFields("Texto1").Result) = 0) Then
MsgBox "Por favor, rellene el campo"
Else
Application.PrintOut
End If
End Sub
Sub FilePrintDefault()
If (Len(ActiveDocument.FormFields("Texto1").Result) = 0) Then
MsgBox "Por favor, rellene el campo"
Else
Application.PrintOut
End If
End Sub

donde FormFields("Texto1") corresponde al nombre del marcador del campo


del
formulario (que puedes ver si pulsas con el botón derecho sobre el campo y


eliges
propiedades)
¿Comentas?

Marta PM
Saúdos/Saludos
MVP Office

(Si quieres escribirme ya sabes lo que no quiero)
Más consejos en www.fermu.com
__________
La información contenida en este mensaje se proporciona "TAL CUAL", sin


garantías
explícitas ni implícitas, y no otorga derecho alguno. Usted asume


cualquier riesgo al
poner en práctica lo recomendado o sugerido en el presente mensaje.

¿Quieres saber que es un MVP?
http://mvp.support.microsoft.com/

"Aitor Uranga" escribió en el


mensaje
news:
> Hola, estoy intentando hacer una plantilla de Word, y me interesa por
> ejemplo si es la plantilla de una carta, que arriba a la derecha tenga


un
> campo de formulario en el que ponga "escribe aquí el nombre del
> destinatario" y que si no lo escribe al imprimirlo no se imprima este


texto,
> pero en cambio si escribe el nombre que si se imprima, es algo parecido


a lo
> que te sale cuando utilizas una plantilla de Power point.
>
> Gracias y un saludo.
>
>
>


Respuesta Responder a este mensaje
#3 Marta PM [MVP Office]
23/02/2006 - 17:47 | Informe spam
Creo que sí.
Puedes probar algo así, tendrás que adaptar el código a tus necesidades:
Sub FilePrint()
If ActiveDocument.FormFields("Texto1").Result = "Escriba aquí el nombre" Then
ActiveDocument.Unprotect
ActiveDocument.FormFields("Texto1").Select
Selection.Font.Hidden = True
Application.PrintOut
Selection.Font.Hidden = False
ActiveDocument.Protect wdAllowOnlyFormFields
Else
Application.PrintOut
End If
End Sub

Marta PM
Saúdos/Saludos
MVP Office

(Si quieres escribirme ya sabes lo que no quiero)
Más consejos en www.fermu.com
__________
La información contenida en este mensaje se proporciona "TAL CUAL", sin garantías
explícitas ni implícitas, y no otorga derecho alguno. Usted asume cualquier riesgo al
poner en práctica lo recomendado o sugerido en el presente mensaje.

¿Quieres saber que es un MVP?
http://mvp.support.microsoft.com/

"Aitor Uranga" escribió en el mensaje
news:
No, no me as entendido bien, si en el campo no han cambiado el valor
"escribe aquí el nombre" se imprime el documento, pero no el campo.

Me entiendes?

Gracias.
"Marta PM [MVP Office]" escribió en el
mensaje news:
Hola:
A ver si lo he entendido. Si no se rellena ese campo de formulario que no


permita la
impresión del documento y que sí se rellena sí permita imprimir. ¿Es


correcto?
Si mi suposición es correcta entonces podrías incluir dos macros en tu


documento que
capturen el evento Imprimir (uno para la opción Imprimir del menú Archivo


y otro para
la opción Imprimir de la barra de herramientas) y que no permitan imprimir


haste que
en ese campo exista algún valor.
Podría ser algo como esto:
Sub FilePrint()
If (Len(ActiveDocument.FormFields("Texto1").Result) = 0) Then
MsgBox "Por favor, rellene el campo"
Else
Application.PrintOut
End If
End Sub
Sub FilePrintDefault()
If (Len(ActiveDocument.FormFields("Texto1").Result) = 0) Then
MsgBox "Por favor, rellene el campo"
Else
Application.PrintOut
End If
End Sub

donde FormFields("Texto1") corresponde al nombre del marcador del campo


del
formulario (que puedes ver si pulsas con el botón derecho sobre el campo y


eliges
propiedades)
¿Comentas?

Marta PM
Saúdos/Saludos
MVP Office

(Si quieres escribirme ya sabes lo que no quiero)
Más consejos en www.fermu.com
__________
La información contenida en este mensaje se proporciona "TAL CUAL", sin


garantías
explícitas ni implícitas, y no otorga derecho alguno. Usted asume


cualquier riesgo al
poner en práctica lo recomendado o sugerido en el presente mensaje.

¿Quieres saber que es un MVP?
http://mvp.support.microsoft.com/

"Aitor Uranga" escribió en el


mensaje
news:
> Hola, estoy intentando hacer una plantilla de Word, y me interesa por
> ejemplo si es la plantilla de una carta, que arriba a la derecha tenga


un
> campo de formulario en el que ponga "escribe aquí el nombre del
> destinatario" y que si no lo escribe al imprimirlo no se imprima este


texto,
> pero en cambio si escribe el nombre que si se imprima, es algo parecido


a lo
> que te sale cuando utilizas una plantilla de Power point.
>
> Gracias y un saludo.
>
>
>






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida