Poner la ventana de una aplicación WORD, EXCEL, ETC en primer plano.

2,360 views
Skip to first unread message

Francisco Cuesta

unread,
Dec 4, 2013, 11:12:25 AM12/4/13
to publice...@googlegroups.com
Saludos, 

MiArchivoExcel = "G:\ssc\data\gastoslocales.doc"
poExplorer = CreateObject("Word.Application")
poExplorer.Documents.Open(MiArchivoExcel)
thisform.poExplorer.Visible = .T.

Espero su ayuda. Muchas gracias

Percy Villano Fuentes

unread,
Dec 4, 2013, 12:15:28 PM12/4/13
to publice...@googlegroups.com

solo minimizalo y despues maximizalo
coloca al final de todo
MiArchivoExcel = "c:\xxxxxxx.doc"
poExplorer = CreateObject("Word.Application")
poExplorer.Documents.Open(MiArchivoExcel)
poExplorer.Visible = .T.
poExplorer.WindowState = 2
poExplorer.WindowState = 1 

Francisco Cuesta

unread,
Dec 4, 2013, 1:27:51 PM12/4/13
to publice...@googlegroups.com
Gracias, pero, no me funciona.

La aplicación se abre, pero, se queda en segundo plano maximizado.


Luis Maria Guayan

unread,
Dec 4, 2013, 2:40:06 PM12/4/13
to publice...@googlegroups.com
Mira este ejemplo con Excel, pruebalo con otras aplicaciones que soporten Automation


lcXls = GETFILE("XLS")
IF NOT EMPTY(lcXls) AND FILE(lcXls)
  loExcel = CREATEOBJECT("Excel.Application")
  loExcel.Workbooks.OPEN(lcXls)
  loExcel.VISIBLE = .T.
  DECLARE LONG BringWindowToTop IN "user32" LONG HWND
  BringWindowToTop(loExcel.HWND)
ELSE
  MESSAGEBOX("El archivo " + lcXls + " no existe", 0+16, "Aviso")
ENDIF


Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Francisco Cuesta

unread,
Dec 4, 2013, 4:24:20 PM12/4/13
to publice...@googlegroups.com
Eres lo máximo!!!

Cómo sería para un .doc ¿?

Te agradecería millon!!!

Luis Maria Guayan

unread,
Dec 4, 2013, 7:53:58 PM12/4/13
to Comunidad Visual FoxPro en Español
Esa era tu tarea para el hogar :-D

Mira si esto funciona:

lcDoc = GETFILE("Doc")
IF NOT EMPTY(lcDoc) AND FILE(lcDoc)
  loWord = CREATEOBJECT("Word.Application")
  loWord.Documents.OPEN(lcDoc)
  loWord.VISIBLE = .T.
  lcCaption = loWord.ActiveDocument.ActiveWindow.Caption + [ - Microsoft Word]
 DECLARE integer FindWindow IN "user32" String, String
  lnHWnd = FindWindow(Null , lcCaption)
  DECLARE LONG BringWindowToTop IN "user32" LONG HWND
  BringWindowToTop(lnHWND)
ELSE
  MESSAGEBOX("El archivo " + lcDoc + " no existe", 0+16, "Aviso")
ENDIF


 
Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________


HernanCano

unread,
Dec 5, 2013, 12:04:28 AM12/5/13
to publice...@googlegroups.com
Hola.
Seguro que la respuesta de Luis M. es adecuada.

Te muestro lo sgte... Probé las cuatro secuencias y en todas se abre la app respectiva.


MiArchivoDOC = "c:\TEST1.doc"
MiArchivoXLS = "c:\TEST1.xls"

** Primero: Word

poExplorer = CreateObject("Word.Application")
poExplorer.Documents.Open(MiArchivoDOC)
poExplorer.Visible = .T.
*poExplorer.WindowState = 2  &&
en las primeras ejecuciones funcionó como se requiere
*poExplorer.WindowState = 1  &&
=MessageBox('Se abrió Word',0,'--')

** Segundo: Word
M.lcFile = MiArchivoDOC
M.loWord = CREATEOBJECT("Word.Application")
M.loWord.Documents.Open(M.lcFile)
*M.loWord.Application.Visible = .T.  && sí funciona: se abre Word
M.loWord.Visible = .T.  && sí funciona: se abre Word
RELEASE M.loWord
=MessageBox('Se abrió Word',0,'--')

** Tercero: Excel
poExplorer = CreateObject("Excel.Application")
poExplorer.Documents.Open(MiArchivoXLS)
poExplorer.Visible = .T.
*poExplorer.WindowState = 2  && en las primeras ejecuciones funcionó como se requiere
*poExplorer.WindowState = 1  &&
=MessageBox('Se abrió Excel',0,'--')

** Cuarto: Excel
M.lcFile = MiArchivoXLS
M.loApp = CREATEOBJECT("Excel.Application")
M.loApp.Documents.Open(M.lcFile)
*M.loApp.Application.Visible = .T.  && sí funciona: se abre Excel
M.loApp.Visible = .T.  && sí funciona: se abre Excel
RELEASE M.loApp
=MessageBox('Se abrió Excel',0,'--')


HernanCano

unread,
Dec 5, 2013, 12:07:10 AM12/5/13
to publice...@googlegroups.com
Cambias la extensión XLS por DOC en GETFILE("XLS") y la palabra Excel por Word en CREATEOBJECT("Excel.Application").

Espero que ésta sea tu última pregunta al respecto (de hacer tareas para el colegio).

Francisco Cuesta

unread,
Dec 5, 2013, 8:51:27 AM12/5/13
to publice...@googlegroups.com
Doy gracias a Luis María Guayan.
Excelente compañero de comunidad.
Lo siento, si no pude resolver el problema. Créeme que estuve investigando. Soy muy nuevo en VFP.



HernanCano

unread,
Dec 5, 2013, 1:09:34 PM12/5/13
to publice...@googlegroups.com
Lo que te hemos indicado es muy fácil.
¿Qué has hecho?
Si no te da, te intentaremos ayudar.

Héctor Guzmán

unread,
Feb 3, 2016, 1:16:37 AM2/3/16
to Comunidad de Visual Foxpro en Español
Muy agradecido :)

Luis Maria Guayan

unread,
Feb 4, 2016, 4:06:24 PM2/4/16
to Comunidad Visual FoxPro en Español

 
Luis María Guayán
Tucumán, Argentina
_______________________________
Comunidad Visual FoxPro en Español

2016-02-03 3:16 GMT-03:00 Héctor Guzmán <hector....@gmail.com>:
Muy agradecido :)

Allan Raúl Acuña

unread,
Feb 4, 2016, 4:18:43 PM2/4/16
to publice...@googlegroups.com
Gracias maestro,

Un saludo desde Nicaragua !

Saludos cordiales.

Lic. Allan Raúl Acuña
Analista Programador
msn= allan...@hotmail.com
skype= NicEasySoft
            +(505) 8 999 8950
Managua, Nicaragua
Centroamérica



Date: Thu, 4 Feb 2016 18:06:21 -0300
Subject: Re: [vfp] Poner la ventana de una aplicación WORD, EXCEL, ETC en primer plano.
From: luism...@gmail.com
To: publice...@googlegroups.com

Héctor Guzmán

unread,
Feb 4, 2016, 7:39:02 PM2/4/16
to publice...@googlegroups.com
Gracias.
¡Funciona excelentemente bien!
Sólo como observación, ahora para el Word 2013 en el  "Caption", en lugar de poner:
lcCaption = loWord.ActiveDocument.ActiveWindow.Caption + [ - Microsoft Word]
Hay que poner:
lcCaption = loWord.ActiveDocument.ActiveWindow.Caption + [ - Word]
Saludos y gracias nuevamente.
:)
Reply all
Reply to author
Forward
0 new messages