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