Funcionamiento de formulario

19/12/2006 - 12:45 por carlosandujar82 | Informe spam
Mi ignorancia es absoluta. He preparado un formulario por la vía
clásica y ahora necesito conocer la ruta para abrirlo y poder producir
el documento rellenando tan sólo los campos. Mi pregunta es la
siguiente: hay que guardar y abrir cada vez que pretendamos producir un
documento en word?. He rastreado en paginas web y he encontrado el
siguiente link:

http://www.microsoft.com/spanish/ms...ctiveX.asp



"Preparación del nuevo documento de formulario
Otro aspecto delicado del uso de los controles ActiveX con VBA es que,
mientras que los controles en sí aparecerán en los documentos creados
a partir de una plantilla, el código del módulo ThisDocument no se
transferirá al nuevo documento. Aunque estará en la plantilla
adjunta, las referencias a los controles que no especifiquen en qué
documento encontrarlos parecerán no funcionar.

Comparemos el modo en que el código del listado 10 pasa el control
cboCountry a la función PopulateList con el modo en que el control
txtAddress pasa el evento LostFocus del listado 7. En el listado10,
está claro que el control en cuestión se encuentra en
"ActiveDocument". En el listado 7, por su parte, se asume que el
control está en el mismo archivo que contiene el código, ya que, de
no ser así, no se califica.

Por tanto, se puede

Especificar en el código el documento en el que VBA debe buscar el
control.
Especificar que la plantilla realice una copia de un documento
existente y que lo abra a continuación.
Utilizar o volver a utilizar un documento en lugar de una plantilla.
(Puede hacer mostrar el cuadro de diálogo Guardar como (en el menú
Archivo) para recordar al usuario que guarde el documento con un nuevo
nombre para un formulario nuevo.)
El evento Document_New del listado 10 configura el formulario. Se
rellena el cuadro combinado, se actualizan los campos (fechas y
vínculos a archivos externos, entre otros) del documento, se
inicializan las variables del documento para la validación de datos y
se selecciona el primer control. Asimismo, se muestra el texto oculto y
se eliminan los caracteres no imprimibles y los marcadores.

Listado 10. Prepare el formulario al crear un documento nuevo a partir
de una plantilla.

Private Sub Document_New()
Dim doc As Word.Document

Set doc = ActiveDocument
doc.cboCountry.Clear
doc.Fields.Update
PopulateList doc.cboCountry
doc.Variables("PreviousControl").Value _
= doc.InlineShapes(1).OLEFormat.Object.Name
doc.Variables("DataValidation").Value = "False"
doc.InlineShapes(1).Select
With doc.ActiveWindow.View
.ShowHiddenText = True
.ShowAll = False
.ShowBookmarks = False
End With
End Sub
"

Preguntas similare

Leer las respuestas

#6 Tux
29/12/2006 - 11:55 | Informe spam
Carlos escribió:
De acuerdo, Mónica. Introducir un botón que lo guarde como documento
estático de Word en una carpeta determinada; esa puede ser una buena
solución, aunque tendré que mirar cómo se programa eso.

Muchas gracias.




Hola Carlos :-)

Bien Primero vamos a crear un boton para llamar siempre a ese formulario
original, aqui te dejo un primer codigo que su funcion es abrirte
siempre el formulario original para que te deje guardarlo como quieras,
primero prueba este codigo en un documento de word nuevo. (Inserta un
modulo (menu Insertar de Visual Basic y click en Modulo), para entrar en
visual Basic (Alt + F11) desde documento y una vez dentro y creado el
modulo, copia y pega el codigo de aqui abajo, en ese modulo ok? Cierras
visual basic, y luego asignale un boton desde el documento asi:

Menu Herramientas > personalizar > pestaña comandos, en la izquierda
busca donde dice Macros, veras que sale tu macro creada, pues coge ese
boton con el raton y sin soltar arrastralo a la barra de herramientas
luego si te pones encima con click derecho raton, puedes personalizar
ese boton. )

'

Sub abrir_Formulario()
Dim Nuevo As Word.Document
Dim Formulario As Word.Application
Set Formulario = New Word.Application
Set Nuevo = Formulario.Documents.Add _
("C:\documents and settings\usuario\escritorio\xxx.doc")
Formulario.Visible = True

End Sub
'--

Luego crearemos un boton para guardarlos en una carpeta ok?:-)


Si no entiendes ni mu Comentanos eh? :-)

Saludos
Monica



¡Un SAludo! :-)

www.fermu.com
www.zorval.es
Respuesta Responder a este mensaje
#7 Carlos
03/01/2007 - 18:47 | Informe spam
Feliz año, Mónica!

Funcionar, me funciona, el único tema es que abre nuevamente el Word y
no el documento Word formulario desde el que estoy trabajando. Si
además, me dices cómo los vamos metiendo en una misma carpeta, ya
tendré el trabajo realizado.

Muchas gracias.
Respuesta Responder a este mensaje
#8 Tux
04/01/2007 - 18:00 | Informe spam
Carlos escribió :

Feliz año, Mónica!

Funcionar, me funciona, el único tema es que abre nuevamente el Word y
no el documento Word formulario desde el que estoy trabajando. Si
además, me dices cómo los vamos metiendo en una misma carpeta, ya
tendré el trabajo realizado.

Muchas gracias.



Hola Carlos :-)

¡Igualmente Feliz Año!!!

Vale, ok! prueba este Codigo:

'--
Sub llamada_Formulario()


ChangeFileOpenDirectory _
"C:\Documents and Settings\usuario\Escritorio\"
Documents.Open FileName:="My Formulario.doc"


End Sub

'-

Y Para guardar en una misma carpeta :(en esta macro te saldra un
inputbox (tipo ventana de dialogo) para que escribas el nombre que
quieras ponerle al documento y cuando le das a aceptar te lo guardara
en la ruta especificada en el codigo, y te cerrara el documento ok? :-)

'--

Sub Guardar_Doc()

Dim Msj, NNombre

Msj = "Escriba el nombre del documento"
NNombre = InputBox$(Msj)
ChangeFileOpenDirectory _
"C:\documents and settings\usuario\escritorio\mi Carpeta"
ActiveDocument.SaveAs FileName:=NNombre, _
FileFormat:=wdFormatDocument

ActiveWindow.Close

End Sub

'-

Bueno ya nos comentas ok? :-)

Saludos
Monica


¡Un Saludo! :-)
www.fermu.com
www.zorval.es
Respuesta Responder a este mensaje
#9 Carlos
05/01/2007 - 10:00 | Informe spam
Hola de nuevo Mónica:

El primer código me da el siguiente error:

"Se ha producido el error 4172 en tiempo de ejecución:
Ruta no encontrada"

Saludos
Respuesta Responder a este mensaje
#10 Tux
05/01/2007 - 18:23 | Informe spam
Carlos a écrit :

Hola de nuevo Mónica:

El primer código me da el siguiente error:

"Se ha producido el error 4172 en tiempo de ejecución:
Ruta no encontrada"

Saludos



Hola Carlos :-)

¿has mirado bien si la ruta de tu archivo este bien? Los nombres sobre
todo, ha de ser exacta si la tienes en por ejemplo:

"C:\Documents and Settings\usuario\Mis Documentos\Mi carpeta\"
Documents.Open FileName:="Formulario 126.doc"

Ese error es que no encuentra el archivo, revisa que esten bien los
nombres y sobre todo la barra invertida al final de la ruta [ \ ]

Comentanos ok? :-)

Saludos
Monica


¡Un Saludo! :-)
www.fermu.com
www.zorval.es
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida