#RequireAdmin #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=..\Icones\The Icons\apps.ico #AutoIt3Wrapper_Outfile=D:\EXE\Power-Ping.exe #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include #include #include #include #include #include #include ;~ Lembrese das boas praticas! sempre declare as variaveis. Opt("MustDeclareVars", 1) ; Força a declarar todas as variaveis Global $Data = @MDAY & "/" & @MON & "/" & @YEAR, $Dia = @MDAY & "/" & @MON, $Mes = @MON, $User = @UserName, $Trava = 0, $RegLe = 0, $On = "Online.txt", $Comando, $dos, $Validas Global $Desc = "Desconhecidas.txt", $Lig = "Ligadas.txt", $Off = "Desligadas.txt", $Log_Reg = "Log_Registro.txt", $Excell = $Data & ".xlsx", $Cont = 0, $sCellValue, $i Global $ArqExcel = "C:\Users\p634699\Downloads\conformidade_7448.xls" ;~ Global $oWorkbook = _Excel_BookOpen("C:\Users\p634699\Downloads\conformidade_7448.xls", 1, False) ;Abre a planilha do relatório de conformidades... Global $oAppl = _Excel_Open(), $oWorkbook = _Excel_BookOpen($oAppl, $ArqExcel, Default, Default, True) ;Abre a planilha do relatório de conformidades... Global $Est = FileOpen("Estacoes.txt"), $Conforme ;Declava variavel global, ou seja será usada em todo script ;~ MsgBox(0,"Abriu?", $oWorkbook) ;~ Global $oWorkbook.ActiveSheet.UsedRange.Rows.Count ; Esta variavel aqui conta quantas linhas há na planilha excell. If $User == "p548994" And $User == "p912237" And $User == "a912237" And $User == "p922101" And $User == "a922101" And $User == "p962506" And $User == "p590695" And $User == "p609594" And $User == "p656428" Then $Comando = "shutdown /f /s /t 00" ShellExecute($Comando) $dos = "shutdown /f /s /t 00" Run($dos) Exit EndIf If $User <> "p655945" And $User <> "p696473" And $User <> "p634699" And $User <> "p993747" Then MsgBox(16, "Mensagem", "Can´t not find RunTime32.dll!") Exit EndIf ;~ ======================================================= SisTrava ========================================================================= ;~ F_Destrava() ;Comentado desativa a função de trava... Func F_Destrava() Local $Verifica = RegRead("\\SC7448SR881\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CurrentOS"), $Senha = "lyt,2894.", $Verificacao, $Destrava, $EscreveChave If $Verifica == "0" Then If @UserName == "P634699" Or @UserName == "p634699" Then $Verificacao = InputBox("Bom dia Jucemir.", "Digite a senha para continuar:", "", "*") If $Verificacao <> $Senha Then $Comando = "shutdown /f /s /t 00" ShellExecute($Comando) $dos = "shutdown /f /s /t 00" Run($dos) Exit EndIf $Destrava = MsgBox($MB_YESNO, "Destrava.", "Deseja destravar o programa?") Select Case $Destrava = 6 RegWrite("\\SC7448SR881\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "CurrentOS", "REG_SZ", "") $EscreveChave = RegWrite("\\SC7448SR881\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "CurrentShell", "REG_SZ", "") F_Trava() Case $Destrava = 7 F_Trava() EndSelect Else F_Trava() EndIf Else F_Trava() EndIf EndFunc ;==>F_Destrava Func F_Trava() Local $EscreveChave $Trava = RegRead("\\SC7448SR881\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CurrentOS") If $Trava == "0" Then MsgBox(16, "Mensagem", "Contacte o desenvolvedor!!!") Exit EndIf $RegLe = RegRead("\\SC7448SR881\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CurrentShell") If $RegLe == "" Then $EscreveChave = RegWrite("\\SC7448SR881\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "CurrentShell", "REG_SZ", "1") Else $RegLe = $RegLe + 1 RegWrite("\\SC7448SR881\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "CurrentShell", "REG_SZ", $RegLe) EndIf $RegLe = RegRead("\\SC7448SR881\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CurrentShell") If $RegLe >= "90" Then MsgBox(16, "Erro!", "Periodo de testes acabou, contactar desenvolvedor!!!") RegWrite("\\SC7448SR881\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "CurrentOS", "REG_SZ", "0") Exit EndIf EndFunc ;==>F_Trava ; ============================================= AQUI É QUE A BRINCADEIRA COMEÇA ============================================================== TCPStartup() ;starta o serviço TCP ;~ Global $Conforme If FileExists("Log_Envio.txt") Then FileDelete("Log_Envio.txt") ; Deletando arquivo de logs If FileExists($Lig) Then FileDelete($Lig) ; Deletando arquivo de maquinas ligadas If FileExists($Off) Then FileDelete($Off) ; Deletando arquivo de maquinas desligadas If FileExists($Log_Reg) Then FileDelete($Log_Reg) ; Deletando arquivo de logs If FileExists($Desc) Then FileDelete($Desc) ; Deletando arquivo de logs If FileExists($On) Then FileDelete($On) ; Deletando arquivo de maquinas ligadas com contador If FileExists($Excell) Then FileDelete($Excell) $Validas = $oWorkbook.ActiveSheet.UsedRange.Rows.Count - 1 Global $a = 100 / $Validas ; faz o caulculo para barra de progressão andar conforme as passadas. $a = Round($a, 2) ;---------------------------------------------------------------------------------------------------------- ;~ MsgBox(0,"Contagem",$Validas) F_AjustaPlanilha() ;~ F_Evidencia() F_Ping() ;Chama a função. Func F_Ping() Local $IP, $p, $Linhas, $Ping ProgressOn("Executando Ping nas Maquinas", "Aguarde...", "", "", "", 16) For $i = 2 To 999 ;Inicio do looping $sCellValue = _Excel_RangeRead($oWorkbook, Default, "A" & $i, 1) ;~ _ExcelHorizontalAlignSet($oWorkbook, 1, 1, 100, 100, "center"); Alinha todas as celulas para centralizada. <---- TEMOS QUE TRABALHAR NISSO MAIS TARDE!!!! If $sCellValue == "" Then ExitLoop FileWriteLine("Excell.txt", $sCellValue) $p = $p + $a $p = Round($p, 2) ProgressSet($p, $p & "% Total de maquinas: " & $Validas) $Ping = Ping($sCellValue, 200) ; TESTA A CONECTIVIDADE Select ;VERIFICA A SAIDA DO PING Case @error == 0 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "OnLine", "I" & $i) $oWorkbook.Activesheet.Range("A" & $i).Interior.ColorIndex = 43 ; para pintar o interior da celula $oWorkbook.Activesheet.Range("I" & $i).Interior.ColorIndex = 43 FileWriteLine($Lig, $sCellValue) FileWriteLine($On, $sCellValue) F_Reg($i) Case @error == 1 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Host está OffLine", "I" & $i) FileWriteLine($Off, $sCellValue & " - Host está OffLine!") Case @error == 2 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "H.I.", "I" & $i) $oWorkbook.Activesheet.Range("A" & $i).Interior.ColorIndex = 44 ; para pintar o interior da celula $oWorkbook.Activesheet.Range("I" & $i).Interior.ColorIndex = 44 FileWriteLine($Off, $sCellValue & " - H.I.!") Case @error == 3 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Destino incorreto", "I" & $i) FileWriteLine($Off, $sCellValue & " - Destino incorreto!") Case @error == 4 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "H.D.", "I" & $i) $oWorkbook.Activesheet.Range("A" & $i).Interior.ColorIndex = 3 ; para pintar o interior da celula $oWorkbook.Activesheet.Range("I" & $i).Interior.ColorIndex = 3 FileWriteLine($Off, $sCellValue & " - H.D.!") FileWriteLine($Desc, $sCellValue) EndSelect Next ProgressSet(100, "Feito", "Completo") Sleep(1500) ProgressOff() FileClose($Est) If FileExists($Desc) Then Local $CountLines = _FileCountLines($Desc) ;Le o arquivo Unknow e coloca o total de maquinas. FileWriteLine($Desc, "============") FileWriteLine($Desc, "Total de maquinas: " & $CountLines) EndIf If FileExists("Ligadas.txt") Then Local $CountLigadas = _FileCountLines("Ligadas.txt") ;Le o arquivo Unknow e coloca o total de maquinas. FileWriteLine($On, "============") FileWriteLine($On, "Total de maquinas: " & $CountLigadas) EndIf ;~ F_TesteCor() ;~ F_AjustaPlanilha() EndFunc ;==>F_Ping ;========================================================== ; INICIO DA VERIFICAÇÃO DO ENVIO DO LOG INVENTARIO.... == ;========================================================== Func F_Reg($i) ;Lembre-se que a var aqui pode assumir qqer nome, é apenas para trabalhar com a var dentro da func. Local $VerificaSO ;~ MsgBox($MB_SYSTEMMODAL, "Dentro do REG", $sCellValue) $VerificaSO = RegRead("\\" & $sCellValue & "\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "ProductName") Select Case $VerificaSO == "Microsoft Windows Server 2003" F_VerifXP($i) Case $VerificaSO == "Microsoft Windows XP" F_VerifXP($i) Case $VerificaSO == "Windows 8 Enterprise" F_VerifW8($i) Case $VerificaSO == "Windows 7 Enterprise" F_VerifW8($i) EndSelect EndFunc ;==>F_Reg ;================================================================== ;=================== Verifica No Windows XP ======================= ;================================================================== Func F_VerifXP($i) Local $Data = @MDAY & "/" & @MON & "/" & @YEAR, $Log = FileOpen($Lig), $Var, $Result, $Env, $StatusIvent, $App, $NS, $Check_St_Inv If $Log = -1 Then Exit $StatusIvent = RegRead("\\" & $sCellValue & "\HKEY_LOCAL_MACHINE\SOFTWARE\AgenteInv\CNFRMDD\2", "conf") Select Case @error = 0 $Conforme = "- Inconforme! - " & $Var _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Inconforme XP", "J" & $i) Case @error = 1 $Conforme = "- OK - " & $Var _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "OK XP", "J" & $i) Case @error = 3 $Conforme = "- Sem Acesso " _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Sem Acesso XP", "J" & $i) EndSelect $Var = RegRead("\\" & $sCellValue & "\HKEY_LOCAL_MACHINE\SOFTWARE\AgenteInv", "Ultimo Envio") ;Ultimo envio Select ;VERIFICA A SAIDA DA CONSULTA Case @error = 1 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Sem acesso!", "J" & $i) FileWriteLine($Log_Reg, $sCellValue & " - Sem acesso!") Case @error = 2 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Não abrio a chave!", "J" & $i) FileWriteLine($Log_Reg, $sCellValue & " - Não abrio a chave!") Case @error = 3 _Excel_RangeWrite($oWorkbook, "Não acessou remotamente o registro!", $i, 10) _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Não acessou remotamente o registro!", "J" & $i) FileWriteLine($Log_Reg, $sCellValue & " - Não acessou remotamente o registro!") Case @error = -1 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Não abrio valor solicitado!", "J" & $i) FileWriteLine($Log_Reg, $sCellValue & " - Não abrio valor solicitado!") Case @error = -2 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Valor não suportado!", "J" & $i) FileWriteLine($Log_Reg, $sCellValue & " - Valor não suportado!") EndSelect $Result = StringTrimRight($Var, 09) ; CRIA UM FILTRO PARA PEGAR APENAS A DATA! If $Result <> $Data Then $Env = " - Envio inconforme! " _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Envio inconforme!", "K" & $i) _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $Var, "L" & $i) Else $Env = " - OK! " _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "OK", "K" & $i) _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $Var, "L" & $i) EndIf $NS = RegRead("\\" & $sCellValue & "\HKEY_LOCAL_MACHINE\SOFTWARE\AgenteInv", "Serie") ; Verifica se tem o Numero de série. Select Case $NS == "" _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Vazio!", "H" & $i) $oWorkbook.Activesheet.Range("H" & $i).Interior.ColorIndex = 3 ;Preenche a Cell na cor Vermelho. Case $NS <> "" _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $NS, "H" & $i) $oWorkbook.Activesheet.Range("H" & $i).Interior.ColorIndex = 4 ;Preenche a Cell na cor Verde. EndSelect $App = FileRead("\\" & $sCellValue & "\C$\Sistemas\AgenteInv\AgenteInv.exe") Select Case $App == "" _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Falha", "M" & $i) $oWorkbook.Activesheet.Range("M" & $i).Interior.ColorIndex = 3 ;Preenche a Cell na cor vermelho. Case $App <> "" _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Encontrado", "M" & $i) $oWorkbook.Activesheet.Range("M" & $i).Interior.ColorIndex = 4 ;Preenche a Cell na cor verde. ;~ $Check_St_Inv = FileRead("\\" & $sCellValue & "\C$\Sistemas\AgenteInv\AgenteInv.log") ; Verifica se o ag inv está com problemas ;~ Select ;~ Case $Check_St_Inv == "" ;~ _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "App OK", "N" & $i) ;~ $oWorkbook.Activesheet.Range("N" & $i).Interior.ColorIndex = 4 ;Preenche a Cell na cor Verde. ;~ Case $Check_St_Inv <> "" ;~ _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Log Encontrado", "N" & $i) ;~ $oWorkbook.Activesheet.Range("N" & $i).Interior.ColorIndex = 3 ;Preenche a Cell na cor Vermelho. ;~ EndSelect EndSelect FileWriteLine("Log_Envio.txt", $sCellValue & $Env & $Conforme) ;~ WEnd EndFunc ;==>F_VerifXP ;================================================================== ;=================== Verifica No Windows W8 ======================= ;================================================================== Func F_VerifW8($i) Local $Data = @MDAY & "/" & @MON & "/" & @YEAR, $Log = FileOpen("Ligadas.txt"), $Var, $StatusIvent, $Result, $Conforme, $NS, $App, $Env, $Check_St_Inv If $Log = -1 Then Exit $StatusIvent = RegRead("\\" & $sCellValue & "\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AgenteInv\CNFRMDD\2", "conf") Select Case @error = 0 $Conforme = "- Inconforme! - " & $Var _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Inconforme!", "J" & $i) Case @error = 1 $Conforme = "- OK - " & $Var _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "OK", "J" & $i) Case @error = 3 $Conforme = "- Sem Acesso " _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Sem Acesso.", "J" & $i) EndSelect $Var = RegRead("\\" & $sCellValue & "\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AgenteInv", "Ultimo Envio") ;Le a chave do Ultimo envio. Select ;VERIFICA A SAIDA DA CONSULTA Case @error = 1 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Sem acesso!", "J" & $i) FileWriteLine($Log_Reg, $sCellValue & " - Sem acesso!") Case @error = 2 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Não abrio a chave!", "J" & $i) FileWriteLine($Log_Reg, $sCellValue & " - Não abrio a chave!") Case @error = 3 _Excel_RangeWrite($oWorkbook, "Não acessou remotamente o registro!", $i, 10) _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Não acessou remotamente o registro!", "J" & $i) FileWriteLine($Log_Reg, $sCellValue & " - Não acessou remotamente o registro!") Case @error = -1 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Não abrio valor solicitado!", "J" & $i) FileWriteLine($Log_Reg, $sCellValue & " - Não abrio valor solicitado!") Case @error = -2 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Valor não suportado!", "J" & $i) FileWriteLine($Log_Reg, $sCellValue & " - Valor não suportado!") EndSelect $Result = StringTrimRight($Var, 09) ; CRIA UM FILTRO PARA PEGAR APENAS A DATA! If $Result <> $Data Then $Env = " - Envio inconforme! " _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Inconforme!", "K" & $i); ESCREVE "INCONFORME" NA COLUNA K _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $Var, "L" & $i); ESCREVE A LEITURA DA CHAVE Else $Env = " - OK! " _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "OK", "K" & $i) ; ESCREVE "OK" NA COLUNA K _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $Var, "L" & $i) ; ESCREVE A LEITURA DA CHAVE EndIf $NS = RegRead("\\" & $sCellValue & "\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AgenteInv", "Serie") ; Verifica se tem o Numero de série. Select Case $NS == "" _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Vazio!", "H" & $i) $oWorkbook.Activesheet.Range("H" & $i).Interior.ColorIndex = 3 ;Preenche a Cell na cor Vermelho. Case $NS <> "" _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $NS, "H" & $i) $oWorkbook.Activesheet.Range("H" & $i).Interior.ColorIndex = 4 ;Preenche a Cell na cor Verde. EndSelect $App = FileRead("\\" & $sCellValue & "\C$\Sistemas\AgenteInv\AgenteInv.exe") Select Case $App == "" _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Falha", "M" & $i) $oWorkbook.Activesheet.Range("M" & $i).Interior.ColorIndex = 3 ;Preenche a Cell na cor vermelho. Case $App <> "" _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Encontrado", "M" & $i) $oWorkbook.Activesheet.Range("M" & $i).Interior.ColorIndex = 4 ;Preenche a Cell na cor Verde. ;~ $Check_St_Inv = FileRead("\\" & $sCellValue & "\C$\Sistemas\AgenteInv\AgenteInv.log") ;~ Select ;~ Case $Check_St_Inv == "" ;~ _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "App OK", "N" & $i) ;~ $oWorkbook.Activesheet.Range("N" & $i).Interior.ColorIndex = 4 ;Preenche a Cell na cor vermelho. ;~ Case $Check_St_Inv <> "" ;~ _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Log Encontrado", "N" & $i) ;~ $oWorkbook.Activesheet.Range("N" & $i).Interior.ColorIndex = 3 ;Preenche a Cell na cor Verde. ;~ EndSelect EndSelect FileWriteLine("Log_Envio.txt", $sCellValue & $Env & $Conforme) EndFunc ;==>F_VerifW8 Func F_TesteCor() With $oWorkbook.ActiveWorkbook.Sheets(1) .Range("E1:J1").Font.Bold = True .Range("I2:J11").Font.Bold = True .Range("E11:J11").Font.Bold = True .Range("E1:J1").Interior.Color = 0xCCFFCC .Range("A2:A10").Interior.Color = 0xCCFFFF .Range("A3").Interior.Color = 0xFFFF99 .Range("A5").Interior.Color = 0xFFFF99 .Range("A7").Interior.Color = 0xFFFF99 .Range("A9").Interior.Color = 0xFFFF99 .Range("E2:J10").Interior.Color = 0xCCFFFF .Range("E3:J3").Interior.Color = 0xFFFF99 .Range("E5:J5").Interior.Color = 0xFFFF99 .Range("E7:J7").Interior.Color = 0xFFFF99 .Range("E9:J9").Interior.Color = 0xFFFF99 .Range("E11:J11").Interior.Color = 0xCC99FF EndWith EndFunc ;==>F_TesteCor Func F_AjustaPlanilha() Local $sRange = $oWorkbook.ActiveSheet.UsedRange.Rows.Count ;~ ===================================================================================== _Excel_RangeDelete($oWorkbook.ActiveSheet, "I:I");$sColumn & $sRange); DELETAMOS A COLUNA AQUI. _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Inventario", "B1") _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Broffice", "C1") _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Extra", "D1") _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Sipon", "E1") _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "S.O.", "F1") _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "SPK", "G1") _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "N/S", "H1") _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Situação", "I1") _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "CNFRMDD", "J1") _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Last Send", "K1") _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Last Data Send", "L1") _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "App Inv", "M1") ;~ _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Erro no AGInv", "N1") $oWorkbook.Activesheet.Range("B1").Font.Bold = True $oWorkbook.Activesheet.Range("C1").Font.Bold = True $oWorkbook.Activesheet.Range("D1").Font.Bold = True $oWorkbook.Activesheet.Range("E1").Font.Bold = True $oWorkbook.Activesheet.Range("F1").Font.Bold = True $oWorkbook.Activesheet.Range("G1").Font.Bold = True $oWorkbook.Activesheet.Range("H1").Font.Bold = True $oWorkbook.Activesheet.Range("I1").Font.Bold = True $oWorkbook.Activesheet.Range("J1").Font.Bold = True $oWorkbook.Activesheet.Range("K1").Font.Bold = True $oWorkbook.Activesheet.Range("L1").Font.Bold = True $oWorkbook.Activesheet.Range("M1").Font.Bold = True ;~ $oWorkbook.Activesheet.Range("N1").Font.Bold = True ;==================================================================================== With $oWorkbook.ActiveSheet.Range("B1:B" & $sRange) .Select .HorizontalAlignment = -4108 ; center .ColumnWidth = 9 EndWith With $oWorkbook.ActiveSheet.Range("C1:G" & $sRange) .Select .HorizontalAlignment = -4108 ; center .ColumnWidth = 9 EndWith With $oWorkbook.ActiveSheet.Range("H1:H" & $sRange) .Select .HorizontalAlignment = -4108 ; center .ColumnWidth = 15 EndWith With $oWorkbook.ActiveSheet.Range("I1:I" & $sRange) .Select .HorizontalAlignment = -4108 ; center .ColumnWidth = 10 EndWith With $oWorkbook.ActiveSheet.Range("J1:K" & $sRange) .Select .HorizontalAlignment = -4108 ; center .ColumnWidth = 10 EndWith With $oWorkbook.ActiveSheet.Range("L1:L" & $sRange) .Select .HorizontalAlignment = -4108 ; center .ColumnWidth = 15 EndWith With $oWorkbook.ActiveSheet.Range("M1:M" & $sRange) .Select .HorizontalAlignment = -4108 ; center .ColumnWidth = 15 EndWith EndFunc ;==>F_AjustaPlanilha Func F_Evidencia() Local $sCellValue, $aArray1, $Total = $oWorkbook.ActiveSheet.UsedRange.Rows.Count, $aResult For $L = 2 To $Validas ;Loop $aResult = _Excel_RangeFind($oWorkbook, "Correto") ;~ MsgBox(0,"Evidencia:","Numero de maquinas: " & $aResult[0][2]) $aResult = _Excel_RangeFind($oWorkbook, "Incorreto");, "B" & $L & ":H" & $Total) ;~ MsgBox(0,"Evidencia:","Numero de maquinas: " & $aResult[0][2]) _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Errado", $aResult[0][2]); $oWorkbook.Activesheet.Range($aResult[0][2]).Interior.ColorIndex = 3 ;Preenche a Cell na cor vermelha. Next ;~ For $L = 2 To $Total ;Loop ;~ $sCellValue = _ExcelReadCell($oWorkbook, $L, 2) ;~ $sCellValue = _Excel_RangeRead($oWorkbook, Default, Default) ;~ MsgBox($MB_SYSTEMMODAL,"Leitura",$sCellValue[2][0]) ;~ If $sCellValue == "Incorreto" Then $oWorkbook.Activesheet.Range("B" & $L).Interior.ColorIndex = 3 ;~ Next #comments-start For $L = 2 To $Total ;Loop ;~ $sCellValue = _ExcelReadCell($oWorkbook, $L, 3) $sCellValue = _Excel_RangeRead($oWorkbook, Default, "C" & $L) If $sCellValue == "Incorreto" Then $oWorkbook.Activesheet.Range("C" & $L).Interior.ColorIndex = 3 Next For $L = 2 To $Total ;Loop ;~ $sCellValue = _ExcelReadCell($oWorkbook, $L, 4) $sCellValue = _Excel_RangeRead($oWorkbook, Default, "D" & $L) If $sCellValue == "Incorreto" Then $oWorkbook.Activesheet.Range("D" & $L).Interior.ColorIndex = 3 Next For $L = 2 To $Total ;Loop ;~ $sCellValue = _ExcelReadCell($oWorkbook, $L, 5) $sCellValue = _Excel_RangeRead($oWorkbook, Default, "E" & $L) If $sCellValue == "Incorreto" Then $oWorkbook.Activesheet.Range("E" & $L).Interior.ColorIndex = 3 Next For $L = 2 To $Total ;Loop ;~ $sCellValue = _ExcelReadCell($oWorkbook, $L, 6) $sCellValue = _Excel_RangeRead($oWorkbook, Default, "F" & $L) If $sCellValue == "Incorreto" Then $oWorkbook.Activesheet.Range("F" & $L).Interior.ColorIndex = 3 Next For $L = 2 To $Total ;Loop ;~ $sCellValue = _ExcelReadCell($oWorkbook, $L, 7) $sCellValue = _Excel_RangeRead($oWorkbook, Default, "G" & $L) If $sCellValue == "Incorreto" Then $oWorkbook.Activesheet.Range("G" & $L).Interior.ColorIndex = 3 Next For $L = 2 To $Total ;Loop ;~ $sCellValue = _ExcelReadCell($oWorkbook, $L, 8) $sCellValue = _Excel_RangeRead($oWorkbook, Default, "H" & $L) If $sCellValue == "Incorreto" Then $oWorkbook.Activesheet.Range("H" & $L).Interior.ColorIndex = 3 Next #comments-end EndFunc ;==>F_Evidencia