Erro 0x900A03EC AHK com EXCEL Topic is solved

Tire suas dúvidas sobre programação em AutoHotkey

Moderator: Gio

brunopare
Posts: 11
Joined: 15 Jun 2021, 13:37

Erro 0x900A03EC AHK com EXCEL

Post by brunopare » 05 Jul 2021, 13:00

Olá amigos, antes de tudo gostaria de agradecer a este fórum pois o mesmo vem me ajudando muito no desenvolvimento de meus scripts :dance: No caso estou trabalhando em um outro script e tenho alguns problemas. Como podem ver no código abaixo possui 2 condicionais. A primeira condicional IF funciona perfeitamente ser apresentar erros, porém a segunda condicional ELSE IF apresenta um erro que eu não consegui interpretar. O erro aponta diretamente para a linha 48 onde a variável material recebe o valor da coluna M linha 24. Alguém poderia me ajudar a solucionar este erro ? Tanto o erro quanto o trecho do código estão em anexo, também estarei postando todo o código caso isso ajude.

Code: Select all

Excel := ComObjCreate("Excel.Application") 
Excel.Workbooks.Open("C:\Users\XXX\Desktop\XXXXXXXX.xlsx") 
Excel.Visible := True 
linhacontrole := 22
loop 1 {
	tipo_obra := Excel.Range("B" linhacontrole).value
	num_obra := Excel.Range("C" linhacontrole).Value
	;Abrindo Janela e acessando movimento 2-1-2
	WinActivate, Sistema de Acompanhamento e Gerenciamento de Obras de Distribu - \\Remote
	Sleep, 2000
	MouseClick, left,  196, 43 ;propriedade para clicar em Movimentos, pode variar de a cordo com a resolução do usuário.
	Send, 2
	Send, 2
	Send, 1 
	Sleep, 2000
	Send, %num_obra%
	Sleep, 2000
	;Clica em incluir 
	MouseClick, left,  29,  91
	Sleep, 2000
	
	
	if (linhacontrole <=21 ){
		
		controle_mat := 3
		quantidade :=""
		loop 11{
			material := Excel.Range("M" controle_mat).Value
			Send, %material%{TAB}
			if (tipo_obra = "URBANO"){
				quantidade := Excel.Range("O" controle_mat).value
			}
			Else if (tipo_obra ="RURAL"){
				quantidade :=Excel.Range("P" controle_mat).value
			}
			Send, %quantidade%{TAB}
			Send, 0{TAB}
			Send, {TAB}{TAB}{TAB}
			controle_mat := controle_mat + 1 
		}
	}
		
	Else if (linhacontrole >=22) AND (linhacontrole <=31){
		controle_mat := 24
		quantidade := Excel.Range("O" controle_mat).Value
		loop 3 {
			material := Excel.Range("M" controle_mat).Value
			Send, %material%{TAB}
			Send, %quantidade%{TAB}
			Sleep, 3000
			Send, 0{TAB}
			Send, {TAB}{TAB}{TAB}
			controle_mat = controle_mat + 1
			}
		}
	Send, {F11}
	Sleep, 1000
linhacontrole := linhacontrole + 1 
}
Attachments
ERRO.png
ERRO.png (17.05 KiB) Viewed 1566 times
CODIGO.png
CODIGO.png (33.49 KiB) Viewed 1566 times

Guest

Re: Erro 0x900A03EC AHK com EXCEL  Topic is solved

Post by Guest » 06 Jul 2021, 19:58

Se por algum motivo a planilha estiver em modo de edição quando chega nessa linha, vai dar erro.
Verifique se não é o caso. Talvez a janela do Excel esteja sendo ativada durante a execução, recebendo ela própria a digitação dos valores.

User avatar
flyingDman
Posts: 2848
Joined: 29 Sep 2013, 19:01

Re: Erro 0x900A03EC AHK com EXCEL

Post by flyingDman » 12 Jul 2021, 15:57

controle_mat := controle_mat + 1
14.3 & 1.3.7

Post Reply

Return to “Ajuda e Suporte Geral”