Abrir Excel maximizado

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

Abrir Excel maximizado

Mensagem por rubens »

Olá...

Consegui abrir o excel pelo harbour mas ele fica minimizado na barra de tarefas..
Tem algum comando que posso usar para maximiza-lo ao abrir?

Código para abrir:

Código: Selecionar todos

	oExcel := TOleAuto():New( "Excel.Application" )
	IF  oExcel == nil
		Alert('Excel no está instalado!','Error')
	ELSE	
		oWorkBook := oExcel:WorkBooks:Open( cArqXls )
		oExcel:DisplayAlerts := .F. 
		oEXcel:Visible := .T.
	ENDIF
Outra coisa como ele foi instanciado
oExcel := TOleAuto():New( "Excel.Application" )

mas não foi finalizado
oExcel:Quit()

pode dar algum problema com o windows?

Obrigado
Rubens
"Eu e minha casa servimos ao Senhor e você ???"
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Abrir Excel maximizado

Mensagem por alxsts »

Olá!

Teste o código abaixo:

Código: Selecionar todos

   #define xlMaximized -4137         //***********
   
   LOCAL oExcel AS Object
   LOCAL oWorkBook AS Object
 
   oExcel := TOleAuto():New( "Excel.Application" )
   IF  oExcel == nil
      Alert('Excel no está instalado!','Error')
   ELSE   
      oWorkBook := oExcel:WorkBooks:Open( cArqXls )
      oExcel:DisplayAlerts := .F.   
      oExcel:Visible := .T.          //***********
      
      oExcel:WindowState := xlMaximized
   ENDIF

   oExcel:Quit()   
É sempre recomendável fechar a aplicação após finalizar o uso.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

Abrir Excel maximizado

Mensagem por rubens »

Bom dia...
Alxsts,

Resolveu em parte... talvez eu tenha me expressado mau. Na realidade quando abrir o excel gostaria que ele ficasse em foco e sobreposse o meu programa. Ele tá abrindo maximizado mas não em foco. Achei que algum método da classe executasse essa função. Ele abre o excel na barra e pisca umas tres vezes.
Pelo que percebi para o excel fica em foco vai ter que usar uma função para isso. Me lembro de um tópico sobre isso, vou pesquisar.

Agora quando uso o método: oExcel:Quit() ele já fecha o excel também, automático, então não dá para usar o oExcel:Quit()

Obrigado
Rubens
"Eu e minha casa servimos ao Senhor e você ???"
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Abrir Excel maximizado

Mensagem por alxsts »

Olá!

Talvez o código abaixo resolva:

Código: Selecionar todos

	...
	   hIE := FindWindow( 0, "Excel" )
	   lCaptured := ( hIE > 0 )
	   IF lCaptured
	      SetActiveWindow( hIE )
	   ELSE
	      MsgStop( "Excel inativo. ative-o" )
	   ENDIF
	...
Extraído do tópico Execução de comandos e programas externos, por Rochinha.
[]´s
Alexandre Santos (AlxSts)
Responder