Word en un Form

08/10/2003 - 14:03 por Pedro Arena | Informe spam
Hola... necesito si me pueden ayudar para poder visualizar un Documento
"x" dentro de un form... teniendo en cuenta que "x" va cambiando en tiempo
de ejecución es decir yo elijo un archivo y quiero visualizarlo dentro
del Form... (¿se entiende?)
Agradezco desde ya su ayuda
Un Abrazo
Pedro


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway

Preguntas similare

Leer las respuestas

#1 Jaime Vasquez
08/10/2003 - 20:37 | Informe spam
Hola Pedro,

Lo podes hacer con un control WebWrowser incrustado en el form:


<Sample>

Public oForm

_VFP.AutoYield = .F.

oForm = Createobject("testform")

IF VARTYPE(oForm) = "O"
oForm.Show()
ENDIF

*--
*-- testform
*--
DEFINE CLASS testform AS form

ADD OBJECT oleWebWrowser AS IEClass WITH;
Name = "oleWebBrowser"

PROCEDURE Resize
THIS.oleWebBrowser.Height = THIS.Height
THIS.oleWebBrowser.Width = THIS.Width
ENDPROC

PROCEDURE Init
WITH THIS.oleWebBrowser
.Top = 0
.Left = 0
.Navigate(GETFILE("Archivos de word (*.doc):doc")) && < file name
ENDWITH
THIS.Resize()
ENDPROC

ENDDEFINE

*--
*-- IEClass
*--
DEFINE CLASS IEClass AS olecontrol

OleClass = "Shell.Explorer.2"

PROCEDURE Init
THIS.Navigate("about:blank")
ENDPROC

PROCEDURE Refresh
NODEFAULT
ENDPROC

ENDDEFINE


</Sample>



Saludos
Jaime Vasquez
Guatemala C.A.





"Pedro Arena" wrote in message news:
Hola... necesito si me pueden ayudar para poder visualizar un Documento
"x" dentro de un form... teniendo en cuenta que "x" va cambiando en tiempo
de ejecución es decir yo elijo un archivo y quiero visualizarlo dentro
del Form... (¿se entiende?)
Agradezco desde ya su ayuda
Un Abrazo
Pedro


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#2 Ana María Bisbé York
11/10/2003 - 18:38 | Informe spam
Hola Pedro:

Tomado de la Conferencia de LuisMa Guayán en el Congreso Portalfox - Coruña
2003:

Para comenzar a utilizar la automatización de Office, vamos a crear una
instancia del servidor. Esto se logra desde Visual FoxPro con las funciones
CREATEOBJECT() o GETOBJECT().

Con CREATEOBJECT() siempre se crea una nueva instancia del servidor, aunque
exista una instancia de dicho servidor. Para crear una instancia de Word,
Excel y Outlook se ejecutan las siguientes fun­ciones:

loWord = CREATEOBJECT('Word.Application')

Con GETOBJECT() se instancia al servidor de la siguiente forma:

loWord = GETOBJECT( , 'Word.Application')

Si no existe una instancia disponible del servidor, el comando fallará y
aparecerá el Error OLE 1426. Para evitar este error sin importar si existe o
no una instancia del servidor, pasamos como pará­me­tro el nombre del
archivo. loWord = GETOBJECT('C:\MiDocumento.doc', 'Word.Application')

Por defecto, la instancia del servidor estará oculta. Podemos hacer visible
la instancia con la propie­dad Visible = .T. Esto lo haremos solo para ver
los cambios que producimos, generalmente en la etapa de desarrollo, ya que
esto hará más lento el proceso de automatización.

Abrir y/o crear la carta

El método AbrirCarta(), abre la carta de Word si esta existe o crea una
nueva carta con el método CrearCarta(). Ambos métodos retornan un objeto
Document de Word.

PROCEDURE AbrirCarta(tcArchivo)
LOCAL loDoc AS 'Word.Document'
tcArchivo = FORCEEXT(tcArchivo,'DOC')
IF NOT FILE(THIS.cDirDoc + tcArchivo)
*-- Si no existe la carta, la creo
loDoc = THIS.CrearCarta(tcArchivo)
ELSE
*-- Si existe la carta, la abro
loDoc = THIS.oWord.Documents.OPEN(THIS.cDirDoc + tcArchivo)
*-- y me aseguro que no tiene un documento asociado
loDoc.MailMerge.MainDocumentType = -1 && wdNotAMergeDocument
ENDIF
*-- Retorno un objeto Document
RETURN loDoc
ENDPROC

PROCEDURE CrearCarta(tcArchivo)
LOCAL loDoc AS 'Word.Document'
*-- Creo un nuevo documento
loDoc = THIS.oWord.Documents.ADD(,,0)
*-- Guardo el documento como...
loDoc.SAVEAS(THIS.cDirDoc + tcArchivo)
*-- Activo el documento
loDoc.ACTIVATE
*-- Comienzo a 'escribir' el documento
WITH THIS.oWord.SELECTION
.FONT.NAME = 'Tahoma'
.FONT.SIZE = 10
...
ENDWITH
RETURN loDoc
ENDPROC

Para finalizar tenemos el método GuardarCarta() que guarda el documento
principal, con la posibi­lidad mediante un parámetro de cerrar el documento.

PROCEDURE GuardarCarta(toDoc, tlCierra)
*-- Guardo el documento
toDoc.SAVE()
IF tlCierra
*-- Cierro el documento
toDoc.CLOSE()
ENDIF
ENDPROC

Espero que este fragmento te pueda ayudar.
Saludos,

Ana

"Pedro Arena" escribió en el mensaje
news:
Hola... necesito si me pueden ayudar para poder visualizar un Documento
"x" dentro de un form... teniendo en cuenta que "x" va cambiando en tiempo
de ejecución es decir yo elijo un archivo y quiero visualizarlo dentro
del Form... (¿se entiende?)
Agradezco desde ya su ayuda
Un Abrazo
Pedro


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

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