DocVariables

24/04/2006 - 13:41 por JPLujan | Informe spam
Estoy creando una plantilla en word con una serie de variables las cuales
relleno desde un formulario, cuando alguno de los cuadros de texto está vacío
el programa no funciona porque borra la variable.

He puesto control a cada cuadro de texto para saber si está vacío me dá
mensajes de que no puede estar vació pero me sigue sin funcionar.

Alguna ayuda Gracias

Preguntas similare

Leer las respuestas

#1 Marta PM [MVP Office]
24/04/2006 - 14:34 | Informe spam
Hola:
Lo siento, será que es lunes, pero yo casi no me he enterado de lo que
pides. Si puedes ser un poco más explícito tal vez puedas recibir mejor ayuda.
Marta PM
Saúdos/Saludos
MVP Office


http://www.fermu.com


"JPLujan" wrote:

Estoy creando una plantilla en word con una serie de variables las cuales
relleno desde un formulario, cuando alguno de los cuadros de texto está vacío
el programa no funciona porque borra la variable.

He puesto control a cada cuadro de texto para saber si está vacío me dá
mensajes de que no puede estar vació pero me sigue sin funcionar.

Alguna ayuda Gracias
Respuesta Responder a este mensaje
#2 JPLujan
24/04/2006 - 14:44 | Informe spam
Hola Marta gracias por tu interés.

Tengo un documento el cual hay ciertos campos que se repiten en el documento
lo que hice fué generar variables "Docvariables", y los datos de los cuadros
de texto que estan el el formulario son los datos que voy a poner en las
variables de manera de que cuando acepte todos las variables se actualizan,
el problema es que si algún cuadro de texto lo dejo vacío el programa no
funciona, y ademas borra la variable a la cual va destinado ese dato "trabajo
con word 2003". No sé si me explico.

Gracias
Gracias

"Marta PM [MVP Office]" escribió:

Hola:
Lo siento, será que es lunes, pero yo casi no me he enterado de lo que
pides. Si puedes ser un poco más explícito tal vez puedas recibir mejor ayuda.
Marta PM
Saúdos/Saludos
MVP Office


http://www.fermu.com


"JPLujan" wrote:

> Estoy creando una plantilla en word con una serie de variables las cuales
> relleno desde un formulario, cuando alguno de los cuadros de texto está vacío
> el programa no funciona porque borra la variable.
>
> He puesto control a cada cuadro de texto para saber si está vacío me dá
> mensajes de que no puede estar vació pero me sigue sin funcionar.
>
> Alguna ayuda Gracias
Respuesta Responder a este mensaje
#3 Marta PM [MVP Office]
24/04/2006 - 14:55 | Informe spam
Hola:
Pues te explicas más o menos :-)
¿Puedes poner el código que usas o un ejemplo "más gráfico"?
Entiendo que tienes un formulario y que los campos de ese formulario se van
a repetir a lo largo del texto ¿no? Pero, a partir de ahí, me pierdo.

Marta PM
Saúdos/Saludos
MVP Office


http://www.fermu.com


"JPLujan" wrote:

Hola Marta gracias por tu interés.

Tengo un documento el cual hay ciertos campos que se repiten en el documento
lo que hice fué generar variables "Docvariables", y los datos de los cuadros
de texto que estan el el formulario son los datos que voy a poner en las
variables de manera de que cuando acepte todos las variables se actualizan,
el problema es que si algún cuadro de texto lo dejo vacío el programa no
funciona, y ademas borra la variable a la cual va destinado ese dato "trabajo
con word 2003". No sé si me explico.

Gracias
Gracias

"Marta PM [MVP Office]" escribió:

> Hola:
> Lo siento, será que es lunes, pero yo casi no me he enterado de lo que
> pides. Si puedes ser un poco más explícito tal vez puedas recibir mejor ayuda.
> Marta PM
> Saúdos/Saludos
> MVP Office
>
>
> http://www.fermu.com
>
>
> "JPLujan" wrote:
>
> > Estoy creando una plantilla en word con una serie de variables las cuales
> > relleno desde un formulario, cuando alguno de los cuadros de texto está vacío
> > el programa no funciona porque borra la variable.
> >
> > He puesto control a cada cuadro de texto para saber si está vacío me dá
> > mensajes de que no puede estar vació pero me sigue sin funcionar.
> >
> > Alguna ayuda Gracias
Respuesta Responder a este mensaje
#4 JPLujan
24/04/2006 - 15:32 | Informe spam
Aqui lo dejo, la parte que no funciona es cuando una vez que he llamado al
formulario y le doy ok habiendo dejado un cuadro de texto vacío la segunda
vez que lo llamo no funciona.



Option Explicit

Private Sub cmbAcerca_Click()
FrmAbout.Show
End Sub

Private Sub cmdcancel_Click()
Unload Me
'Opcion por si quiero cerra el documento sin guardar:
'ActiveDocument.Close SaveChanges:=False

End Sub

Private Sub cmdLimpia_Click()

'Reinicio el formulario

txtNombreCliente.Value = "-"
TxtNombreAnteproyecto.Value = "-"
TxtNumeroAnteproyecto.Value = "-"
TxtRevision.Value = "-"
TxtFechaRevision.Value = "-"
TxtClienteFinal.Value = "-"
TxtAutor1.Value = "-"
TxtAutor2.Value = "-"
CboComentarioRevision.Value = "-"

txtNombreCliente.SetFocus

End Sub

Private Sub cmdOK_Click()

Application.ScreenUpdating = False


'Las he comentado porque no consigo lo que quiero

''***** Controla cajas de texto vacías *****
''Cliente
'If Len(Trim(txtNombreCliente)) = 0 Then
' MsgBox ("Datos de cliente")
' Beep
' txtNombreCliente.SetFocus
' Else
'
''Proyecto
' If Len(Trim(TxtNombreAnteproyecto)) = 0 Then
' MsgBox ("Datos de Proyecto")
' Beep
' TxtNombreAnteproyecto.SetFocus
' Else
'
''Cliente final
'If Len(Trim(TxtClienteFinal)) = 0 Then
' MsgBox ("Datos de cliente final")
' Beep
' TxtClienteFinal.SetFocus
' Else
'
''Numero anteproyecto
'If Len(Trim(TxtNumeroAnteproyecto)) = 0 Then
' MsgBox ("Número anteproyecto")
' Beep
' TxtNumeroAnteproyecto.SetFocus
' Else
'
''Revision
'If Len(Trim(TxtRevision)) = 0 Then
' MsgBox ("Revision")
' Beep
' TxtRevision.SetFocus
' Else
'
''Fecha de revisión
'If Len(Trim(TxtFechaRevision)) = 0 Then
' MsgBox ("Fecha de revision")
' Beep
' TxtFechaRevision.SetFocus
' Else
'
''Autor1
'If Len(Trim(TxtAutor1)) = 0 Then
' MsgBox ("Proyecto mecánico")
' Beep
' TxtAutor1.SetFocus
' Else
'
''Autor2
'If Len(Trim(TxtAutor2)) = 0 Then
' MsgBox ("Proyecto eléctrico")
' Beep
' TxtAutor2.SetFocus
' Else
'
'End If
'End If
'End If
'End If
'End If
'End If
'End If
'End If
'
''******************************************************
'
Dim Cadena1 As String
Dim Cadena2 As String
Dim Cadena3 As String

ActiveDocument.Variables("NombreCliente").Value = (txtNombreCliente.Value)
ActiveDocument.Variables("NombreAnteproyecto").Value =
TxtNombreAnteproyecto.Value
ActiveDocument.Variables("NumeroAnteproyecto").Value =
TxtNumeroAnteproyecto.Value
ActiveDocument.Variables("Revision").Value = TxtRevision.Value
ActiveDocument.Variables("FechaRevision").Value = TxtFechaRevision.Value
ActiveDocument.Variables("ComentarioRevision").Value =
CboComentarioRevision.Value
ActiveDocument.Variables("ClienteFinal").Value = TxtClienteFinal.Value
ActiveDocument.Variables("Autor1").Value = TxtAutor1.Value
ActiveDocument.Variables("Autor2").Value = TxtAutor2.Value

Cadena1 = ActiveDocument.Variables("ClienteFinal").Value
Cadena2 = ActiveDocument.Variables("NumeroAnteProyecto").Value
Cadena3 = ActiveDocument.Variables("Revision").Value

ActiveDocument.Variables("Nombrefile").Value = Cadena1 & "-" & Cadena2 & "-"
& Cadena3

Application.ScreenUpdating = True
ActiveDocument.Fields.Update
Unload Me
End Sub
Private Sub CmdTomaDatos_Click()
'CAMPOS DE DATOS DE PROYECTO
txtNombreCliente.Value =
ActiveDocument.Variables("NombreCliente").Value
TxtNombreAnteproyecto.Value =
ActiveDocument.Variables("NombreAnteproyecto").Value
TxtNumeroAnteproyecto.Value =
ActiveDocument.Variables("NumeroAnteproyecto").Value
TxtRevision.Value = ActiveDocument.Variables("Revision").Value
TxtFechaRevision.Value =
ActiveDocument.Variables("FechaRevision").Value
CboComentarioRevision.Value =
ActiveDocument.Variables("ComentarioRevision").Value
TxtClienteFinal.Value =
ActiveDocument.Variables("ClienteFinal").Value
TxtAutor1.Value = ActiveDocument.Variables("Autor1").Value
TxtAutor1.Value = ActiveDocument.Variables("Autor2").Value



End Sub







Private Sub txtNombreCliente_Change()
Me!CmdOK.Visible = Not (IsNull(Me!txtNombreCliente))
End Sub
Private Sub UserForm_Initialize()
'Esta creo que es la parte que no funciona cuando un cuadro de texto está
vacío


txtNombreCliente.Value = "-"
TxtNombreAnteproyecto.Value = "-"
TxtNumeroAnteproyecto.Value = "-"
TxtRevision.Value = "-"
TxtFechaRevision.Value = "-"
TxtClienteFinal.Value = "-"
TxtAutor1.Value = "-"
TxtAutor2.Value = "-"
CboComentarioRevision.Value = "-"


ActiveDocument.Subdocuments.Expanded = True

CboComentarioRevision.AddItem "New"
CboComentarioRevision.AddItem "Revision"
txtNombreCliente.Value = ActiveDocument.Variables("NombreCliente").Value
TxtNombreAnteproyecto.Value =
ActiveDocument.Variables("NombreAnteproyecto").Value
TxtNumeroAnteproyecto.Value =
ActiveDocument.Variables("NumeroAnteproyecto").Value
TxtRevision.Value = ActiveDocument.Variables("Revision").Value
TxtFechaRevision.Value = ActiveDocument.Variables("FechaRevision").Value
CboComentarioRevision.Value =
ActiveDocument.Variables("ComentarioRevision").Value
TxtClienteFinal.Value = ActiveDocument.Variables("ClienteFinal").Value
TxtAutor1.Value = ActiveDocument.Variables("Autor1").Value
TxtAutor2.Value = ActiveDocument.Variables("Autor2").Value
txtNombreCliente.SetFocus


End Sub

Ni que decir tiene que mi experiencia en VBA es bastante pobre

Gracias

"JPLujan" escribió:

Estoy creando una plantilla en word con una serie de variables las cuales
relleno desde un formulario, cuando alguno de los cuadros de texto está vacío
el programa no funciona porque borra la variable.

He puesto control a cada cuadro de texto para saber si está vacío me dá
mensajes de que no puede estar vació pero me sigue sin funcionar.

Alguna ayuda Gracias
Respuesta Responder a este mensaje
#5 Marta PM [MVP Office]
25/04/2006 - 00:08 | Informe spam
Hola:
Ni que decir tiene que mi experiencia en VBA es bastante pobre


Pues apañados vamos, yo tampoco es que sea una experta, pero a ver si entre
los dos conseguimos resolverlo y si alguien más se apunta, pues mejor que
mejor ¿no?

Bien, por partes, a ver si me aclaro. Corrígeme en lo que veas que me
equivoco.
Tienes un formulario con varios "botones" y a cada botón le asignas una
acción. ¿Pertenecen todos al mismo formulario?
Creo, que los cuadros de texto de entrada no están vacíos porque al
reiniciar el formulario ya les agregas una cadena "-" y supongo que esa
cadena no te sirve como texto ¿verdad?

Aqui lo dejo, la parte que no funciona es cuando una vez que he llamado al
formulario y le doy ok habiendo dejado un cuadro de texto vacío la segunda
vez que lo llamo no funciona.


¿A qué te refieres con que "no funciona"? ¿No se carga? ¿Te da algún error?
Estuve haciendo pruebas y aparentemente debería funcionar.
Marta PM
Saúdos/Saludos
MVP Office


http://www.fermu.com


"JPLujan" wrote:

Aqui lo dejo, la parte que no funciona es cuando una vez que he llamado al
formulario y le doy ok habiendo dejado un cuadro de texto vacío la segunda
vez que lo llamo no funciona.



Option Explicit

Private Sub cmbAcerca_Click()
FrmAbout.Show
End Sub

Private Sub cmdcancel_Click()
Unload Me
'Opcion por si quiero cerra el documento sin guardar:
'ActiveDocument.Close SaveChanges:=False

End Sub

Private Sub cmdLimpia_Click()

'Reinicio el formulario

txtNombreCliente.Value = "-"
TxtNombreAnteproyecto.Value = "-"
TxtNumeroAnteproyecto.Value = "-"
TxtRevision.Value = "-"
TxtFechaRevision.Value = "-"
TxtClienteFinal.Value = "-"
TxtAutor1.Value = "-"
TxtAutor2.Value = "-"
CboComentarioRevision.Value = "-"

txtNombreCliente.SetFocus

End Sub

Private Sub cmdOK_Click()

Application.ScreenUpdating = False


'Las he comentado porque no consigo lo que quiero

''***** Controla cajas de texto vacías *****
''Cliente
'If Len(Trim(txtNombreCliente)) = 0 Then
' MsgBox ("Datos de cliente")
' Beep
' txtNombreCliente.SetFocus
' Else
'
''Proyecto
' If Len(Trim(TxtNombreAnteproyecto)) = 0 Then
' MsgBox ("Datos de Proyecto")
' Beep
' TxtNombreAnteproyecto.SetFocus
' Else
'
''Cliente final
'If Len(Trim(TxtClienteFinal)) = 0 Then
' MsgBox ("Datos de cliente final")
' Beep
' TxtClienteFinal.SetFocus
' Else
'
''Numero anteproyecto
'If Len(Trim(TxtNumeroAnteproyecto)) = 0 Then
' MsgBox ("Número anteproyecto")
' Beep
' TxtNumeroAnteproyecto.SetFocus
' Else
'
''Revision
'If Len(Trim(TxtRevision)) = 0 Then
' MsgBox ("Revision")
' Beep
' TxtRevision.SetFocus
' Else
'
''Fecha de revisión
'If Len(Trim(TxtFechaRevision)) = 0 Then
' MsgBox ("Fecha de revision")
' Beep
' TxtFechaRevision.SetFocus
' Else
'
''Autor1
'If Len(Trim(TxtAutor1)) = 0 Then
' MsgBox ("Proyecto mecánico")
' Beep
' TxtAutor1.SetFocus
' Else
'
''Autor2
'If Len(Trim(TxtAutor2)) = 0 Then
' MsgBox ("Proyecto eléctrico")
' Beep
' TxtAutor2.SetFocus
' Else
'
'End If
'End If
'End If
'End If
'End If
'End If
'End If
'End If
'
''******************************************************
'
Dim Cadena1 As String
Dim Cadena2 As String
Dim Cadena3 As String

ActiveDocument.Variables("NombreCliente").Value = (txtNombreCliente.Value)
ActiveDocument.Variables("NombreAnteproyecto").Value =
TxtNombreAnteproyecto.Value
ActiveDocument.Variables("NumeroAnteproyecto").Value =
TxtNumeroAnteproyecto.Value
ActiveDocument.Variables("Revision").Value = TxtRevision.Value
ActiveDocument.Variables("FechaRevision").Value = TxtFechaRevision.Value
ActiveDocument.Variables("ComentarioRevision").Value =
CboComentarioRevision.Value
ActiveDocument.Variables("ClienteFinal").Value = TxtClienteFinal.Value
ActiveDocument.Variables("Autor1").Value = TxtAutor1.Value
ActiveDocument.Variables("Autor2").Value = TxtAutor2.Value

Cadena1 = ActiveDocument.Variables("ClienteFinal").Value
Cadena2 = ActiveDocument.Variables("NumeroAnteProyecto").Value
Cadena3 = ActiveDocument.Variables("Revision").Value

ActiveDocument.Variables("Nombrefile").Value = Cadena1 & "-" & Cadena2 & "-"
& Cadena3

Application.ScreenUpdating = True
ActiveDocument.Fields.Update
Unload Me
End Sub
Private Sub CmdTomaDatos_Click()
'CAMPOS DE DATOS DE PROYECTO
txtNombreCliente.Value =
ActiveDocument.Variables("NombreCliente").Value
TxtNombreAnteproyecto.Value =
ActiveDocument.Variables("NombreAnteproyecto").Value
TxtNumeroAnteproyecto.Value =
ActiveDocument.Variables("NumeroAnteproyecto").Value
TxtRevision.Value = ActiveDocument.Variables("Revision").Value
TxtFechaRevision.Value =
ActiveDocument.Variables("FechaRevision").Value
CboComentarioRevision.Value =
ActiveDocument.Variables("ComentarioRevision").Value
TxtClienteFinal.Value =
ActiveDocument.Variables("ClienteFinal").Value
TxtAutor1.Value = ActiveDocument.Variables("Autor1").Value
TxtAutor1.Value = ActiveDocument.Variables("Autor2").Value



End Sub







Private Sub txtNombreCliente_Change()
Me!CmdOK.Visible = Not (IsNull(Me!txtNombreCliente))
End Sub
Private Sub UserForm_Initialize()
'Esta creo que es la parte que no funciona cuando un cuadro de texto está
vacío


txtNombreCliente.Value = "-"
TxtNombreAnteproyecto.Value = "-"
TxtNumeroAnteproyecto.Value = "-"
TxtRevision.Value = "-"
TxtFechaRevision.Value = "-"
TxtClienteFinal.Value = "-"
TxtAutor1.Value = "-"
TxtAutor2.Value = "-"
CboComentarioRevision.Value = "-"


ActiveDocument.Subdocuments.Expanded = True

CboComentarioRevision.AddItem "New"
CboComentarioRevision.AddItem "Revision"
txtNombreCliente.Value = ActiveDocument.Variables("NombreCliente").Value
TxtNombreAnteproyecto.Value =
ActiveDocument.Variables("NombreAnteproyecto").Value
TxtNumeroAnteproyecto.Value =
ActiveDocument.Variables("NumeroAnteproyecto").Value
TxtRevision.Value = ActiveDocument.Variables("Revision").Value
TxtFechaRevision.Value = ActiveDocument.Variables("FechaRevision").Value
CboComentarioRevision.Value =
ActiveDocument.Variables("ComentarioRevision").Value
TxtClienteFinal.Value = ActiveDocument.Variables("ClienteFinal").Value
TxtAutor1.Value = ActiveDocument.Variables("Autor1").Value
TxtAutor2.Value = ActiveDocument.Variables("Autor2").Value
txtNombreCliente.SetFocus


End Sub

Ni que decir tiene que mi experiencia en VBA es bastante pobre

Gracias

"JPLujan" escribió:

> Estoy creando una plantilla en word con una serie de variables las cuales
> relleno desde un formulario, cuando alguno de los cuadros de texto está vacío
> el programa no funciona porque borra la variable.
>
> He puesto control a cada cuadro de texto para saber si está vacío me dá
> mensajes de que no puede estar vació pero me sigue sin funcionar.
>
> Alguna ayuda Gracias
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida