Formulario en Word
Resuelto
CHATOUNETTE
-
CLOWNELLE Mensajes publicados 26 Estado Miembro -
CLOWNELLE Mensajes publicados 26 Estado Miembro -
Bonsoir,
Estoy creando un formulario en Word y no sé cómo hacer para que en la etiqueta Número de teléfono, al introducir el número, se muestre en tramos de 2 dígitos con un espacio que separe los 10 dígitos, por ejemplo (00 00 00 00 00). Igualmente, para la etiqueta Número de Seguridad Social, ¿cómo puedo hacer que al introducir los números, los espacios se coloquen entre ellos (por ejemplo: 0 00 00 00 000 000 00)?
Estoy trabajando desde casa (debido al confinamiento) y me gustaría avanzar en la creación de este formulario. ¡Gracias por tu ayuda!
Estoy creando un formulario en Word y no sé cómo hacer para que en la etiqueta Número de teléfono, al introducir el número, se muestre en tramos de 2 dígitos con un espacio que separe los 10 dígitos, por ejemplo (00 00 00 00 00). Igualmente, para la etiqueta Número de Seguridad Social, ¿cómo puedo hacer que al introducir los números, los espacios se coloquen entre ellos (por ejemplo: 0 00 00 00 000 000 00)?
Estoy trabajando desde casa (debido al confinamiento) y me gustaría avanzar en la creación de este formulario. ¡Gracias por tu ayuda!
6 respuestas
Hola,
Hablas de un formulario, pero no sabemos de qué tipo de formulario estás hablando. Sin embargo, hay al menos tres tipos diferentes. Entonces, lo que deseas hacer es posible, pero depende de los controles utilizados.
https://faqword.com/index.php/word/formulaires-controles/911-le-point-sur-les-outils-de-formulaires
m@rina
--
Al menos la mitad de los usuarios hacen una pregunta y nunca regresan. A veces me pregunto por qué sigo respondiendo...
Hablas de un formulario, pero no sabemos de qué tipo de formulario estás hablando. Sin embargo, hay al menos tres tipos diferentes. Entonces, lo que deseas hacer es posible, pero depende de los controles utilizados.
https://faqword.com/index.php/word/formulaires-controles/911-le-point-sur-les-outils-de-formulaires
m@rina
--
Al menos la mitad de los usuarios hacen una pregunta y nunca regresan. A veces me pregunto por qué sigo respondiendo...
Hola.
Solución 1 = Hacer el formulario en Excel, y no en Word.
Solución 2 = Insertar tablas de una fila y 14 columnas para el teléfono, una fila y 21 columnas para la SS.
https://www.cjoint.com/c/JCzboGpVIu7
--
¡Es genial, la jubilación! Sobre todo en las Antillas...
Raymond (INSA, AFPA)
Solución 1 = Hacer el formulario en Excel, y no en Word.
Solución 2 = Insertar tablas de una fila y 14 columnas para el teléfono, una fila y 21 columnas para la SS.
https://www.cjoint.com/c/JCzboGpVIu7
--
¡Es genial, la jubilación! Sobre todo en las Antillas...
Raymond (INSA, AFPA)
Hola,
Le agradezco por esta información.
Sin embargo, en los formularios, ya he podido ver que se ingresa el número y los espacios se colocan automáticamente para pasar al siguiente cuadro y así poner un solo número por cuadro.
Aún en mi formulario, al final lo protegí mediante una contraseña y cuando lo pruebo, mis títulos siguen siendo modificables. Se puede escribir. ¿Tendría también una explicación que me pudiera ayudar?
Se lo agradezco de antemano.
Le agradezco por esta información.
Sin embargo, en los formularios, ya he podido ver que se ingresa el número y los espacios se colocan automáticamente para pasar al siguiente cuadro y así poner un solo número por cuadro.
Aún en mi formulario, al final lo protegí mediante una contraseña y cuando lo pruebo, mis títulos siguen siendo modificables. Se puede escribir. ¿Tendría también una explicación que me pudiera ayudar?
Se lo agradezco de antemano.
Hola Marina,
Para terminar con la macro anterior. Cuando se ingresan más de 10 dígitos en el teléfono o un número de más para el número de seguridad social (lo cual es posible actualmente), me gustaría saber si es posible insertar en la macro una instrucción que muestre un mensaje de error informando que hay un dígito de más.
¿Es posible o no?
Gracias de nuevo.
Para terminar con la macro anterior. Cuando se ingresan más de 10 dígitos en el teléfono o un número de más para el número de seguridad social (lo cual es posible actualmente), me gustaría saber si es posible insertar en la macro una instrucción que muestre un mensaje de error informando que hay un dígito de más.
¿Es posible o no?
Gracias de nuevo.
Hola,
Es importante saber que las posibilidades en un control de contenido son bastante limitadas, a diferencia de los controles de Userform o incluso de ActiveX.
Como has comprendido, los eventos son limitados: solo se puede realizar una acción al entrar en el control y al salir.
Elimino de inmediato el mensaje al entrar que explica lo que se debe hacer y que rápidamente va a molestar a todos.
Al salir, se puede verificar el número de caracteres, también se puede verificar si es numérico. El problema es que los espacios son considerados como parte del formato numérico. Y si la persona ingresa espacios, esto generará un error...
Estoy pensando en lo que se puede hacer y vuelvo a contactarte.
m@rina
--
Al menos la mitad de los usuarios hacen una pregunta y nunca vuelven. A veces me pregunto por qué sigo respondiendo...
Es importante saber que las posibilidades en un control de contenido son bastante limitadas, a diferencia de los controles de Userform o incluso de ActiveX.
Como has comprendido, los eventos son limitados: solo se puede realizar una acción al entrar en el control y al salir.
Elimino de inmediato el mensaje al entrar que explica lo que se debe hacer y que rápidamente va a molestar a todos.
Al salir, se puede verificar el número de caracteres, también se puede verificar si es numérico. El problema es que los espacios son considerados como parte del formato numérico. Y si la persona ingresa espacios, esto generará un error...
Estoy pensando en lo que se puede hacer y vuelvo a contactarte.
m@rina
--
Al menos la mitad de los usuarios hacen una pregunta y nunca vuelven. A veces me pregunto por qué sigo respondiendo...
Re...
Aquí hay una macro que anula y reemplaza la anterior. Entonces, debes ir a tus macros y eliminar completamente la macro existente.
Esta macro verificará el número de dígitos ingresados, si la persona ha escrito los espacios o no. Si el número es correcto (10 para el número de teléfono y 15 para el número de seguridad social), el número será formateado, de lo contrario, habrá un mensaje (que puedes modificar si es necesario). Si la persona ha ingresado los espacios, no hay problema, pero podemos advertir que es innecesario.
--
Al menos la mitad de los usuarios hacen una pregunta y nunca regresan. A veces me pregunto por qué sigo respondiendo...
Aquí hay una macro que anula y reemplaza la anterior. Entonces, debes ir a tus macros y eliminar completamente la macro existente.
Esta macro verificará el número de dígitos ingresados, si la persona ha escrito los espacios o no. Si el número es correcto (10 para el número de teléfono y 15 para el número de seguridad social), el número será formateado, de lo contrario, habrá un mensaje (que puedes modificar si es necesario). Si la persona ha ingresado los espacios, no hay problema, pero podemos advertir que es innecesario.
Private Sub Document_ContentControlOnExit(ByVal CC As ContentControl, Cancel As Boolean)
Dim texto As String, i, Resultado, nb
texto = CC.Range.Text
If CC.ShowingPlaceholderText = False Then
If Not IsNumeric(texto) Then GoTo fin:
Select Case CC.Tag
Case "tél"
For i = 1 To Len(texto)
If IsNumeric(Mid(texto, i, 1)) Then
Resultado = Resultado & Mid(texto, i, 1)
End If
Next
CC.Range = Resultado
nb = CC.Range.Characters.Count
If nb <> 10 Then
MsgBox "el número no es correcto, debe tener 10 dígitos"
Else: texto = Format(texto, "0# ## ## ## ##")
CC.Range = texto
End If
Case "sécu"
For i = 1 To Len(texto)
If IsNumeric(Mid(texto, i, 1)) Then
Resultado = Resultado & Mid(texto, i, 1)
End If
Next
CC.Range = Resultado
nb = CC.Range.Characters.Count
If nb <> 15 Then
MsgBox "el número no es correcto, debe tener 15 dígitos"
Else: texto = Format(texto, "0 00 00 00 000 000 00")
CC.Range = texto
End If
End Select
End If
Exit Sub
fin: MsgBox "Número incorrecto"
End Sub
--
Al menos la mitad de los usuarios hacen una pregunta y nunca regresan. A veces me pregunto por qué sigo respondiendo...
He hecho un artículo porque es una cuestión que debe interesar a bastantes usuarios. Ver aquí:
https://faqword.com/index.php/word/formulaires-controles/1111
https://faqword.com/index.php/word/formulaires-controles/1111
Estoy en Modo Creación, Personalizado con áreas de texto "Propiedades", menús desplegables y un calendario. Así que un formulario completado en la computadora. En algún momento, deseo que las personas ingresen su número de seguridad social y su número de teléfono. Quisiera un formato con espacios y no una sucesión de números. Gracias por el enlace. Atentamente, Sandra.
No me respondas muy claramente, en relación con el enlace dado...
Bueno, a priori se trata de controles de contenido.
Lo que quieres hacer es posible únicamente mediante una macro.
Aquí tienes una macro que va a formatear el número de la seguridad social y el número de teléfono. Primero, debes poner etiquetas en tus dos controles (a través de las propiedades). En mi ejemplo, son "sécu" y "tél". Coloca esta macro en ThisDocument:
Muestro aquí cómo poner esta macro
https://faqword.com/index.php/word/formulaires-controles/902-a-l-instar-des-champs-de-formulaire-peut-on-declencher-une-macro-a-la-sortie-d-un-controle-de-contenu?highlight=WyJjb250ZW50Y29udHJvbCJd
Es importante tener en cuenta que el formato se hará una vez que salgamos del control, ya que el evento es EXIT.
Para tu problema de protección, es importante elegir Protección de Formulario y solo los controles podrán ser completados.
m@rina
El problema es que cuando la persona llega a la línea del tél o a la línea de sécu, aparece: "Haga clic o presione aquí para ingresar texto" y cuando se introduce el número de teléfono, este texto no se elimina. Así que el número se mezcla con el texto "haga clic o presione aquí...". No entiendo, sobre todo porque en las otras celdas donde hay este mismo texto, al ingresar la información este texto se borra para dar paso a la información ingresada por la persona que completa el formulario. ¿De dónde puede venir esto?
¡Un gran GRACIAS Marina por esta macro! ¡Comienzo a llegar a lo esencial del asunto!
Sandra
Para poner un mensaje de entrada, hay que pasar al modo Creación y escribir el mensaje. Luego, una vez que se sale del modo Creación, hacer clic en el contenido hará desaparecer el mensaje.
De hecho, había un pequeño problema en la macro, ya que también formateaba el rótulo. Te pongo el documento aquí con las macros corregidas
https://www.cjoint.com/doc/20_03/JCBn1Z2OkrH_format-cc.docm
m@rina