SET linha_nome TO 2 LOOP WHILE (linha_nome) <= (linha_vazia - 1) Excel.SetActiveWorksheet.ActivateWorksheetByName Instance: base_infos Name: $'''Lista nomes''' Excel.CopyCellsFromExcel.CopyCell Instance: base_infos StartColumn: $'''a''' StartRow: linha_nome Excel.ReadFromExcel.ReadCell Instance: base_infos StartColumn: $'''b''' StartRow: linha_nome ReadAsText: False CellValue=> nome SET nome_2 TO $'''%nome%$''' WAIT 1 IF EndsWith(nome_2, $''' $''', False) THEN Text.CropText.CropTextBeforeFlag Text: nome_2 ToFlag: $''' $''' IgnoreCase: False CroppedText=> nome_pronto IsFlagFound=> IsFlagFound ELSE IF EndsWith(nome_2, $'''.$''', False) THEN Text.CropText.CropTextBeforeFlag Text: nome_2 ToFlag: $'''.$''' IgnoreCase: False CroppedText=> nome_pronto IsFlagFound=> IsFlagFound ELSE IF EndsWith(nome_2, $'''$''', False) THEN Text.CropText.CropTextBeforeFlag Text: nome_2 ToFlag: $'''$''' IgnoreCase: False CroppedText=> nome_pronto IsFlagFound=> IsFlagFound END Excel.SetActiveWorksheet.ActivateWorksheetByName Instance: taxacao Name: $'''taxacao''' Excel.ActivateCellInExcel.ActivateCell Instance: taxacao Column: $'''b''' Row: 2 WAIT 2 MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: taxacao TextToSend: $'''{Alt}({Down})''' DelayBetweenKeystrokes: 40 SendTextAsHardwareKeys: False MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: taxacao TextToSend: $'''{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}''' DelayBetweenKeystrokes: 40 SendTextAsHardwareKeys: False MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: taxacao TextToSend: $'''{Control}({V}){Return}''' DelayBetweenKeystrokes: 40 SendTextAsHardwareKeys: False MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: taxacao TextToSend: $'''{LControlKey}({Down})''' DelayBetweenKeystrokes: 60 SendTextAsHardwareKeys: False MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: taxacao TextToSend: $'''{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}''' DelayBetweenKeystrokes: 60 SendTextAsHardwareKeys: False Excel.ReadFromExcel.Read Instance: taxacao ReadAsText: False FirstLineIsHeader: False RangeValue=> ExcelData3 WAIT 2 IF IsBlank(ExcelData3[0][0]) THEN Excel.LaunchExcel.LaunchUnderExistingProcess Visible: True Instance=> excel_individual WAIT 2 Excel.ActivateCellInExcel.ActivateCell Instance: taxacao Column: $'''a''' Row: linha_taxacao MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: taxacao TextToSend: $'''{LControlKey}({LShiftKey}{Right}{Down})''' DelayBetweenKeystrokes: 60 SendTextAsHardwareKeys: False MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: taxacao TextToSend: $'''{LControlKey}({C})''' DelayBetweenKeystrokes: 60 SendTextAsHardwareKeys: False Excel.ActivateCellInExcel.ActivateCell Instance: excel_individual Column: $'''a''' Row: 1 MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: taxacao TextToSend: $'''{LControlKey}({C})''' DelayBetweenKeystrokes: 60 SendTextAsHardwareKeys: False WAIT 2 MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: excel_individual TextToSend: $'''{Alt}{C}{V}{E}''' DelayBetweenKeystrokes: 300 SendTextAsHardwareKeys: False WAIT 2 Excel.DeleteColumn Instance: excel_individual Column: $'''r''' Excel.DeleteColumn Instance: excel_individual Column: $'''q''' Excel.DeleteColumn Instance: excel_individual Column: $'''p''' Excel.DeleteColumn Instance: excel_individual Column: $'''o''' WAIT 3 Excel.SetActiveWorksheet.ActivateWorksheetByName Instance: taxacao Name: $'''Inss geral''' Excel.ActivateCellInExcel.ActivateCell Instance: taxacao Column: $'''a''' Row: 1 MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: taxacao TextToSend: $'''{Alt}({Down})''' DelayBetweenKeystrokes: 40 SendTextAsHardwareKeys: False MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: taxacao TextToSend: $'''{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}''' DelayBetweenKeystrokes: 40 SendTextAsHardwareKeys: False MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: taxacao TextToSend: nome_pronto DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: taxacao TextToSend: $'''{Return}''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False WAIT 1 Excel.ActivateCellInExcel.ActivateCell Instance: taxacao Column: $'''b''' Row: 1 MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: taxacao TextToSend: $'''{LControlKey}({LShiftKey}{Right}{Down})''' DelayBetweenKeystrokes: 60 SendTextAsHardwareKeys: False MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: taxacao TextToSend: $'''{LControlKey}({C})''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False WAIT 2 Excel.ActivateCellInExcel.ActivateCell Instance: excel_individual Column: $'''a''' Row: 1 Excel.SelectCellsFromExcel.SelectCells Instance: excel_individual StartColumn: $'''a''' StartRow: 1 EndColumn: $'''a''' EndRow: 1 Excel.GetFirstFreeRowOnColumn Instance: excel_individual Column: $'''B''' FirstFreeRowOnColumn=> FirstFreeRowOnColumn3 WAIT 2 Excel.ActivateCellInExcel.ActivateCell Instance: excel_individual Column: $'''a''' Row: FirstFreeRowOnColumn3 + 1 WAIT 2 MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: excel_individual TextToSend: $'''{LControlKey}({V})''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False Excel.ActivateCellInExcel.ActivateCell Instance: excel_individual Column: $'''a''' Row: 1 Excel.SelectCellsFromExcel.SelectCells Instance: excel_individual StartColumn: $'''l''' StartRow: 27 EndColumn: $'''l''' EndRow: 27 MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: excel_individual TextToSend: $'''{LControlKey}({T})''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False # {Alt}({C}{KF}{T}) MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: excel_individual TextToSend: $'''{Alt}({C}{O}{T})''' DelayBetweenKeystrokes: 100 SendTextAsHardwareKeys: False WAIT 3 Excel.SelectCellsFromExcel.SelectCells Instance: excel_individual StartColumn: $'''a''' StartRow: 1 EndColumn: $'''a''' EndRow: 1 /# Caminho do arquivo das informações de cada professor: [caminho da pasta]\\Planilhas individuais\\%lista_nomes[linha_nome - 2]%.xls#/ Excel.CloseExcel.CloseAndSaveAs Instance: excel_individual DocumentFormat: Excel.ExcelFormat.FromExtension DocumentPath: $'''%caminho_pasta%\\Planilhas individuais\\%lista_nomes[linha_nome - 2]%.xls''' Excel.SetActiveWorksheet.ActivateWorksheetByName Instance: base_infos Name: $'''Relatório 1''' Excel.ActivateCellInExcel.ActivateCell Instance: base_infos Column: $'''c''' Row: 1 MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: base_infos TextToSend: $'''{Alt}({Down})''' DelayBetweenKeystrokes: 40 SendTextAsHardwareKeys: False MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: base_infos TextToSend: $'''{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}''' DelayBetweenKeystrokes: 40 SendTextAsHardwareKeys: False MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: base_infos TextToSend: $'''%lista_cpf[linha_nome - 2]%{Return}''' DelayBetweenKeystrokes: 40 SendTextAsHardwareKeys: False Excel.ActivateCellInExcel.ActivateCell Instance: base_infos Column: $'''d''' Row: 1 MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: base_infos TextToSend: $'''{Down}''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: base_infos TextToSend: $'''{Control}({C})''' DelayBetweenKeystrokes: 40 SendTextAsHardwareKeys: False Clipboard.GetText Text=> email IF NotContains(email, $'''@''', False) THEN Display.ShowMessageDialog.ShowMessage Title: $'''AVISO''' Message: $'''O endereço de e-mail de %lista_nomes[linha_nome - 2]% não consta na base de dados. Para que o/a servidor/a receba a prestação de contas quanto à sua taxação, será necessário filtrar a planilha de taxação e enviar o e-mail manualmente. A planilha que seria enviada ao/à servidor/a está na pasta \"Planilhas individuais não enviadas\", junto aos demais arquivos de taxação do mês corrente.''' Icon: Display.Icon.ErrorIcon Buttons: Display.Buttons.OK DefaultButton: Display.DefaultButton.Button1 IsTopMost: False ButtonPressed=> ButtonPressed4 /# Caminho da pasta de origem: [caminho da pasta]\\Planilhas individuais Caminho da pasta de destino: [caminho da pasta]\\Planilhas individuais não enviadas#/ File.Move Files: $'''%caminho_pasta%\\Planilhas individuais\\%lista_nomes[linha_nome - 2]%.xls''' Destination: $'''%caminho_pasta%\\Planilhas individuais não enviadas''' IfFileExists: File.IfExists.DoNothing MovedFiles=> MovedFiles2 GOTO 'email não consta' END Display.ShowMessageDialog.ShowMessage Title: $'''aviso''' Message: $'''pode?''' Icon: Display.Icon.None Buttons: Display.Buttons.OK DefaultButton: Display.DefaultButton.Button1 IsTopMost: False ButtonPressed=> ButtonPressed3 /# Caminho do arquivo das informações de cada professor: [caminho da pasta]\\Planilhas individuais\\%lista_nomes[linha_nome - 1]%.xls ATENÇÃO! Esse caminho deve ser alterado a cada mês dentro da ação de "Enviar e-mail", em Geral > Anexos.#/ Email.SendEmail.AuthenticateAndSend SMTPServer: $'''smtp.gmail.com''' Port: 465 EnableSSL: True Username: $'''pontodigital@fjp.mg.gov.br''' Password: senha_email AcceptUntrustedCertificates: False SendFrom: $'''pontodigital@fjp.mg.gov.br''' SendTo: email Subject: $'''Pagamento docência''' Body: $'''Prezado/a %lista_nomes[linha_nome - 2]%, Sua atividade de docência, referente às aulas informadas no sistema Solis, já foi computada na última taxação. Para conferi-la, basta acessar a tabela em anexo. Atenciosamente, Coordenação de Administração de Pessoal Gerência de Recursos Humanos Fundação João Pinheiro.''' IsBodyHtml: False Attachments: $'''%caminho_pasta%\\Planilhas individuais\\%lista_nomes[linha_nome - 2]%.xls''' Excel.SetActiveWorksheet.ActivateWorksheetByName Instance: taxacao Name: $'''taxacao''' Excel.SelectCellsFromExcel.SelectCells Instance: taxacao StartColumn: $'''a''' StartRow: linha_taxacao EndColumn: $'''a''' EndRow: linha_taxacao MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: taxacao TextToSend: $'''{LControlKey}({Right})''' DelayBetweenKeystrokes: 60 SendTextAsHardwareKeys: False WAIT 1 MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: taxacao TextToSend: $'''{Down}''' DelayBetweenKeystrokes: 10 SendTextAsHardwareKeys: False LOOP LoopIndex FROM 1 TO FirstFreeRowOnColumn3 - 2 STEP 1 MouseAndKeyboard.SendKeys.FocusAndSendKeysByInstanceOrHandle WindowInstance: taxacao TextToSend: $'''Sim{Return}''' DelayBetweenKeystrokes: 200 SendTextAsHardwareKeys: False END LABEL 'email não consta' END WAIT 2 Variables.IncreaseVariable Value: linha_nome IncrementValue: 1 END