Visual fox y word

Hola, mira estoy mandando datos desde un formulario de visual fox hacia un documento en word, pero quiero saber como puedo enviar un párrafo pero que este alineado más a la izquierda del predeterminado, espero me puedas ayudar

1 respuesta

Respuesta
1
¿Estas utilizando automatización para ello? Es decir estas creando un objecto de word y luego envías el texto, ¿lo preparas y grabas?
Yo con excel lo que usualmente hago es ir a herammienta / macro / grabar nueva macro, aplicas lo que quieres hacer, y luego detienes el grabador de macros y vas al editor de visual basic para ver que debes poner en el prg de la automatización de fox, te fijas lo que ha hecho word y lo aplicas a tu automatización, te sugiero visites http://fox.wikis.com/wc.dll?Wiki~AutomationExamples~VFP donde tiene como ejemplo:
Local loWord
loWord = CREATEOBJECT("Word.Application")
loWord.Documents.Add()
loRange = loWord.ActiveDocument.Range()
loRange.InsertAfter("I love FoxPro!")
loWord.ActiveDocument.SaveAs("c:\temp\test.doc")
LoWord. PrintOut()
LoWord. Quit()
Release loRange, loWord
Para alinear todo el texto, por ejemplo a la derecha, grabe una macro, fui a menu, seleccionar todo, presione el botón de alineación a la derecha y detuve el macro, luego en el editor me apareció:
Selection. WholeStory
Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft
Como fox no entiende la constante "wdAlignParagraphLeft" con control+G en el editor de visual basic en word, si pones
? WdAlignParagraphLeft
Te sale abajo como resultado 0, con lo que cambias esa constante por cero y te lo toma como tal constante
El código quedaría con el agregado del align:
Local loWord
loWord = CREATEOBJECT("Word.Application")
loWord.Documents.Add()
loRange = loWord.ActiveDocument.Range()
LoRange. InsertAfter("I love FoxPro!")
Selection. WholeStory
Selection.ParagraphFormat.Alignment = 0 &&wdAlignParagraphLeft
loWord.ActiveDocument.SaveAs("c:\temp\test.doc")
LoWord. PrintOut()
LoWord. Quit()
Con eso te abriria un word, pondria el texto "I love FoxPro" y luego seleccionaria todo el texto y lo alinearia a la derecha, luego lo grabaria en c:\temp\test.doc, lo imprimiria y saldria de word...
Espero esta respuesta te sirva como una guía inicial al mundo de automation :)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas