# Complete Enrollment

Vamos considerar um exemplo de robô que é destinado à automação da documentação ao final do curso para estudantes (ouvintes). Os dados de entrada para este robô são um registro de estudantes (ouvintes) previamente matriculados. Além da ordem de conclusão do curso e do certificado de conclusão do curso, para cada estudante, o robô prepara a forma normativa do registro FRDO, estabelecida pela legislação. Este processo é frequentemente utilizado em instituições de ensino e agências de emprego.

O projeto do robô consiste em quatro diagramas e quatro arquivos, dois dos quais estão no formato xlsx e os outros dois no formato docx. Se descrevermos passo a passo, este robô funciona da seguinte maneira:

1. Carrega o modelo “P1\_Treinamento\_modelo.xlsx”
2. Percorre as células com o número da ordem.
3. Vai para o cenário do diagrama “CompleteEnrollmentProcessCreateWord”, que insere os dados em "P1\_Modelo de ordem de conclusão.docx"
4. Vai para o cenário do diagrama “CompleteEnrollmentPrintCertificate”, que preenche "P1\_Modelo de certificado.docx" e o envia para impressão.
5. Vai para o cenário do diagrama “CompleteEnrollment\_CreateFRDO”, que preenche "P1\_Forma de registro FRDO.xlsx" e a envia para o e-mail especificado.

**Diagrama principal do projeto**

O diagrama principal do projeto é assim (para conveniência, os blocos do diagrama estão numerados):<br>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc4mza7KawzH7GKyk0AZBkpau0Ph9Cu4LbtQEV2-Tzv38QXyWCFc1e5f97L9sljKAcHwNrCMUAshFjsg66w-9_kMKiBK_Na3LqMRpPxx9Ac8ofF7_kqOowEby7F6glQ-bXk1G4_5xXsTcwJ8EBFC9lAZCAY?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

1. **Bloco “Início”** (a partir deste bloco, qualquer diagrama começa).
2. **Bloco “Carregar Tabela de Dados”** permite carregar a “Tabela de Dados” de um documento Excel. Para este bloco, as seguintes propriedades são especificadas:

* Caminho do arquivo (caminho para o documento Excel do qual as informações devem ser carregadas na Tabela de Dados);
* Cabeçalho (com a flag ativada, a primeira linha será usada como cabeçalho);
* Folha (número da folha, cujos dados devem ser lidos na Tabela de Dados).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdov69fBQb3iTFeJHWM38fO41hKtTYy_r3pd7Sh2DOemiScW6d6rszJqoSf47KQz2Mj94LrRemXRD9SKB8CRCkhVyc7aphjJSfXxcOlcZS2CsDo9ThIUtckQiVpUF90Vl2KEJqVguDgPJtIoyhLcydPyga0?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

3. **Bloco “Laço para cada (Tabela de Dados)”** percorre ciclicamente todas as linhas da tabela de dados.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeIHr5aTgvQYPhkX7dQimANWi-D-mquG-xcdJB_DQldODftemLhIYJ7MKvIjPqd33hHER7sSU5NMuz_oFXyi0XDyPFTk0oeVmwe8LKZdkS4BkMWSPE0-TkqjgPptQlL3pLC90a6aLU-eS_UO8oJfO4VVqFJ?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

4. **Bloco “Processo”** permite criar cenários compostos por vários diagramas. A execução do cenário continuará a partir do bloco “Início” do diagrama especificado. A execução do cenário retornará ao bloco atual e continuará no diagrama atual assim que o bloco “Fim” do diagrama externo for alcançado. Para o bloco “Processo”, a propriedade “Nome do diagrama” é especificada (nome do arquivo do diagrama onde a execução do cenário continuará, neste caso: CompleteEnrollmentProcessCreateWord).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdtdYgaQtsrScrXnWYaozLtd9jB-XGjsBIj-QNL_xGqc8OwJz60jNjrsjNJ-BS_DpheBvXd6vwnMwVRChTH_VvTFRspuutnYSxlTKOn-2c4XuGc01CGDSoOoTAEocbj7dcHxLqBvSxUFMGRgFFD9q1lBi8?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

5. **Bloco “Processo”** permite criar cenários compostos por vários diagramas. A execução do cenário continuará a partir do bloco “Início” do diagrama especificado. A execução do cenário retornará ao bloco atual e continuará no diagrama atual assim que o bloco “Fim” do diagrama externo for alcançado. Para o bloco “Processo”, a propriedade “Nome do diagrama” é especificada (nome do arquivo do diagrama onde a execução do cenário continuará, neste caso: CompleteEnrollmentPrintCertificate).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdBlv73Tn-q4actgKD_JtvgK0ZhK4-SZPFkJYINNWxfdLax1co_5kNnjpjPC0vL0UPR3aUC9UXIu-5wG0SvzsvdyQcKbMN_AYxkAEllDaA2FfCrVhjCIWAUWbccB8F7Fhm_wLEOyfFO3cMwdeTvfLzbaIk?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

6. **Bloco “Processo”** permite criar cenários compostos por vários diagramas. A execução do cenário continuará a partir do bloco “Início” do diagrama especificado. A execução do cenário retornará ao bloco atual e continuará no diagrama atual assim que o bloco “Fim” do diagrama externo for alcançado. Para o bloco “Processo”, a propriedade “Nome do diagrama” é especificada (nome do arquivo do diagrama onde a execução do cenário continuará, neste caso: CompleteEnrollment\_CreateFRDO).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXegB_AXIC8TfnsShatPkWyLqhXJ5Dh93W_-2cgAtcAoGB3SKHX5bkjhD1rQsC-isOxXPKXWBY63NszQLmZmudizCb8hu2H_z8zev-Z59Ujhu4WejgCQ1JVCfdYLUDMWHs7SSJdHr_hhQAsSrGPcPKbXCtZR?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

7. **Bloco “Condição”** verifica a condição especificada para ver se é verdadeira, após o que a execução do cenário continua na saída “Sim” (se a condição for atendida) ou na saída “Não” (se a condição não for atendida).

A condição é escrita no formato: “variável” é igual (==)/ maior (>)/ menor (<) “valor”.

Por exemplo: $a == “Olá”, ou seja, se o valor da variável $a for igual a “Olá”, então a saída é “Sim”, caso contrário – a saída é “Não”.

$Result > 5, ou seja, se o valor da variável $Result for menor que 5, então a saída é “Sim”, caso contrário – a saída é “Não”.

Neste caso, a condição estabelecida é: -Not \[string]::IsNullOrEmpty($Row\[0]). Ou seja, verifica se o valor da célula zero nesta linha não está vazio.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcby1AQs9klLc3bvfTwo6CJzQpGC-UZRNxNdI_rlmA9GcfQtKVIkBRRV6hAXxQk2keOg2xoMEf8HLtYOIoULzp2y7A68tw0vuOCcA65lleokMnyRLn1Jgq2ZrO6KlceaQuJN8so5jHa8fJVS00zkeNAJXk?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

8. **Bloco “Atribuir valor à variável”** estabelece novos valores para uma ou mais variáveis. Neste caso, nas propriedades, três valores são especificados que devem ser atribuídos a três variáveis, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdX0GvSdlv8eURMnesOzmAYie3C2YG8THqrkiNi_VcnihXMTdMlPFpBLu4EePaVdF8CC1zF4Ulcw8vyVM04l4q7o3ua1rB-2F85be4IFmG9-6qRghNjIebAvF_-x4dpc0vt6HNY11ZuZVal3ildWOPFU0y_?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

9. **Bloco “Atribuir valor à variável”** estabelece novos valores para uma ou mais variáveis. Neste caso, nas propriedades, um valor é especificado que deve ser atribuído a uma variável específica.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfO7WST7F9n9zXIQVvA7FL4GEitPWXr7zYgTX1P_zmKgOJj_Y_w61Kzdoij8qG_aKvu3cPyiruNM7VZoS3E_3_lzsIeRgX9a9tjZiVcVWSIHaK7yemBPdaCgD8Rk1RRP7ZgztNvMGgybO-gV1emqJBIxAAg?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

10. **Bloco “Executar expressão PowerShell”** inicia a execução de uma ou mais expressões em uma linguagem compatível com PowerShell. Neste caso, uma expressão é utilizada: $ListFIO.Add($fio). Ela adiciona ao lista $ListFIO o valor $fio.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfIIwQiTFPEArGLUjFdJb9pdTKfogQnFLzCjufc1RhCytaUIcPtOFVZ-XXvNhGvk6a1IQbXScj0PBpeOF4n5-JOV9WE0kKYhI3UfW6yzejilOVrsFfKMcumpHVCwQTABnkI7sXYWX0FKx6dtCp4lYtALUGT?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

11. **Bloco “Fim”** (este bloco finaliza a execução do cenário ou retorna o diagrama do subprocesso ao processo principal).\`\`\`markdown
12. **Bloco “Log”** permite registrar mensagens arbitrárias e/ou valores de variáveis no log durante a execução do script do robô. Para este bloco, a propriedade “Valor” é especificada. Entre aspas, está uma constante de texto, e o nome da variável começa com o símbolo $. Ou seja, este bloco registra no log do robô uma mensagem de erro.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXey_03bottcveDiCgqXkvVMo9oUFFuEeFDFB1Eljia7befl_vJdGtdQMMxzafewNIWCot4mmLt4fgFU9mQ_s_I-qnsvnNiBJDX5duJzzBsYXgyeKj72PlGmU52dOSZkw0_5FBrfbORzOKwwRc0EJgsMMSMj?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

13. **Bloco “Fim”** (este bloco encerra a execução do script ou retorna o diagrama do subprocesso ao processo principal).

**Diagrama “CompleteEnrollmentProcessCreateWord”**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeZr2dutjQe8SiEAxeUQdD31IVKi1bhVpQUGnFt2lWanzsNUDVb8uelAuOPPASDGPMgk3KRKrBWHJavV7v5D5PGXkO3X5YFOiIJRnynxqj68nYg0jhYWaWGLFeFUZH0i9tCAunJz_K6GUR3nzY0WdwapT1V?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

1. **Bloco “Início”** (este bloco inicia qualquer diagrama).
2. **Bloco “Ciclo”** permite repetir uma sequência de ações (blocos) várias vezes e, ao mesmo tempo, contar o número de iterações do ciclo, registrando a contagem atual em uma variável especial (especificada na propriedade “Ciclo”), que pode ser utilizada em outros blocos. Na primeira entrada no bloco, o valor da variável da propriedade “Ciclo” é igualado ao “Valor Inicial” (neste caso, é 0), e então a execução do script continua em direção à saída “Ciclo” deste bloco (no chamado “corpo do ciclo”). Assim que a execução do script retornar a este bloco, o valor da variável “Ciclo” aumentará em “Passo” (neste caso, é igual a 1), e novamente ocorrerá a transição em direção à saída “Ciclo”. Assim que o valor da variável “Ciclo” for maior ou igual ao “Valor Final” (neste caso, é definido pela variável $ListFIO.Count), a execução do script continuará em direção à saída inferior do bloco. Não se esqueça de conectar a saída do último bloco no corpo do ciclo à entrada deste bloco ou de algum dos blocos anteriores.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXduVQ40JN8fMhlmCJwRDMQCRFRX80ctqvtmfEPuIRTlk-aXyyb_sDgBlaOB63L59QLFI8Z9Wg4H_NPU9w9dA_v7NUOYtkBtl4J4jjFBessgVMH1_1w3r6qABrqybp-9zVtbBgeBUI6q7nhS_LjeZ4tUqXo?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

3. **Bloco “Obter caminho para o arquivo”** obtém o caminho completo para o arquivo com o nome especificado. Para este bloco, é especificada uma propriedade “Nome do arquivo” (nome do arquivo junto com seu formato).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcA5vt5TwRg8V7ozFV63gKrtYh-juQkZm_o17qxIIvZ27LrN3RHvnJi7YCu_lS2rpBLIthTjPtZfN0bAD72pAQKOE2wsUEPsGf7hmp-R9FDgPykwAfJXq2xpNHInH9A8vyplVEkS-G5LxIOwPll9DvpkRV9?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

4. **Bloco “Abrir documento”** permite abrir um documento Word. Para este bloco, as seguintes propriedades são especificadas:

* Usar COM (com a flag ativada, a operação será realizada com o Word instalado);
* Caminho para o arquivo (caminho para o arquivo Word que deve ser aberto).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc1G1WfHULIeuQrU1aBJU_dxVilkI3AJb1lpqyMNqwtfYMCypa9SLoifvD9AmiBeqSiXaD8TZDfh11fd6VBnHb3mdjgpf1PDfva-FkwCucPY_Cgx50LwawQU8DrhtAJuixvkIWbA2vZYSJabUdxBbrLbbcN?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

5. **Bloco “Substituir todas as variáveis no texto”** permite substituir todas as variáveis %variable% no documento Word. Para este bloco, as seguintes propriedades são especificadas:

* Referência ao Word (referência ao processo de manipulação do documento Word. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Referência ao Word", dos blocos "Criar documento" ou "Abrir documento" do grupo Word, que foram usados anteriormente para criar ou abrir este documento);
* Referência ao documento (referência ao documento Word aberto, no qual a manipulação está ocorrendo atualmente. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Referência ao documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Word, que foram usados anteriormente para criar ou abrir este documento).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdLEZCB8xKjybOmc7Jq9aFu1h73kvwBh7itZxQbMKpKla8Iln_3KNN-4ArsmNHuhlLHIc22Z2EppaGI7qebYNV2wNguzTxBE3AkVvDpXUyeIwT0PycJMv7rsBmF-sOCGGWrhrWtRlfpRuqY7Zf0gphPI03E?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

6. **Bloco “Obter caminho para o arquivo”** obtém o caminho completo para o arquivo com o nome especificado. Para este bloco, é especificada uma propriedade “Nome do arquivo” (nome do arquivo junto com seu formato).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXetaCApxUqIAz8kjQWSk4QGd-eRVhJqhW1nNNLFNeXSb8tG_1rGn0f68VYBzQ9uvsHRAR8vRlIw8C-O9Qgo98iXxMV4DvZZcr0Ba1_OawevX20OiWcKBrgC-yyszs9GH1EP15Zmhvru0fvYHKCp0j7-_Px5?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

7. **Bloco “Salvar documento”** permite salvar um documento Word. Para este bloco, as seguintes propriedades são especificadas:

* Referência ao Word (referência ao processo de manipulação do documento Word, o nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Referência ao Word", dos blocos "Criar documento" ou "Abrir documento" do grupo Word, que foram usados anteriormente para criar ou abrir este documento);
* Referência ao documento (referência ao documento que deve ser salvo. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Referência ao documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Word, que foram usados anteriormente para criar ou abrir este documento);
* Caminho para o arquivo (caminho para o documento Word).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfI6u9q5qNwXsW4y1BaYDvMOoTAC9689PpRm34Hdkjp5d0HDFn_JnGszXoYUS5MEP3CiuS1jdRQ8EaPWAr2IeiRgIBqDy-DBlC5WXTgmXDkgYCC4FOZhnoP9IlCgTNpXEE3r3irjYpq2jJkilBqRB20VAvQ?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

8. **Bloco “Imprimir documento”** permite enviar um documento Word para impressão. Para este bloco, as seguintes propriedades são especificadas:

* Referência ao Word (referência ao processo de manipulação do documento Word. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Referência ao Word", dos blocos "Criar documento" ou "Abrir documento" do grupo Word, que foram usados anteriormente para criar ou abrir este documento);
* Referência ao documento (referência ao documento Word aberto, no qual a manipulação está ocorrendo atualmente. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Referência ao documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Word, que foram usados anteriormente para criar ou abrir este documento).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd5XUsgSdI8jMafPAEq4tOjhkmVzQgEWuXnv7BeXQrChugwwBp2zSFLI5RSWZRLgCK65MgMDDatrxTkGqJjIlOGNmr6BcP9nbf-aM0va1Tw4-ZXnoqaNdj34i8qH3PYxi2CzqkAITEDy4fGMZpCqlA-Uq8w?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

9. **Bloco “Fechar documento”** permite fechar um documento Word. Para este bloco, as seguintes propriedades são especificadas:

* Referência ao Word (referência ao processo de manipulação do documento Word. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Referência ao Word", dos blocos "Criar documento" ou "Abrir documento" do grupo Word, que foram usados anteriormente para criar ou abrir este documento);

````*

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeE6VJEd6CRLd9YkCwwh1YTawwC6jpmScTyXrfPxb-KLu5U_bVCSILFwLGdreR5CTwuhWfjfrQtRJl6WVQ5KVvrB7h1kr_o4XYOnJbxhMo2GgX-APl3tMMG_gaT_1W1dnB4RZPGxoCLu1II-PGNoy_mO0k?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

10. **Bloco “Executar expressão PowerShell”** inicia a execução de uma ou mais expressões em uma linguagem compatível com PowerShell. Neste caso, é utilizada uma expressão: $ListFIOString += ($Index+1).ToString() + ". " + $ListFIO\[$Index] + \[Environment]::NewLine. Ela adiciona à string uma nova linha do tipo “1. Ivanov Ivan Ivanovich\r\n”.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeem4jXFX5zxIKS795aGESX3avBx7rHrySC2PFPo4DU9c9sMkBbKBSVQmlcUwu7Xl7tsyCxGrxck72egRtK6eLKx7VorLxeDl_dwt0C0OgEbxxxcwrE3soJqyWwE0bnPq7B09LMI6juXBsPwoX-TnAVjMrl?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

11. **Bloco “Log”** permite registrar mensagens arbitrárias e/ou valores de variáveis no log durante a execução do script do robô. Para este bloco, a propriedade “Valor” foi especificada. Entre aspas, uma constante de texto é indicada, e o nome da variável começa com o símbolo $. Ou seja, este bloco registra no log do robô uma mensagem de erro.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfBngd6Ihy5ClZ_nT8hTkFyC7PHCl2045wiUZizIrI00xy_ap3Qd98cOeun-gX_dXXpkj1ZvH9_jzZVfE1UvlW9DTFOub5HgTT4xwrl98ZMTT0aGSz6EebE2fIhZ2mSA_PEryLPI9B5gHwYxjpn-rieQZE?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

12. e 13. **Bloco “Fim”** (este bloco encerra a execução do script ou retorna o diagrama do subprocesso ao processo principal).

**Diagrama “CompleteEnrollmentPrintCertificate”**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdSng4BpbBQ15GN6MFIHyXae0bcWggSn3XtqmJwic5U3rJrqwFIilzELkD4j1ckOZWV5_EEBfFfrSbFdNLN8XG00W6qFaFJDE3sIdAxETQ7mD6GlpydczoSmvThjk_dBNr52waAYLHOOIEZZ-KhPuFPFjk?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfPpcj-1ygRYnfbkmuF8UXeJCp_dqIfrDWCEOgiMfm4_WiAxqZnf4Rpf7Qg_OyHjWbYKpDX9odLEp6XOZUK6Ci1XSJmWW-jgjJ6Za6nll9_nst5Y8xYgwi0Rh5MBnvEq2gHH6DL2RyBbujTLCLkUHIjWmgi?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

<br>

1. **Bloco “Início”** (este bloco inicia qualquer diagrama).
2. **Bloco “Janela de Mensagem”** permite mostrar ao usuário uma janela de diálogo modal com um título, texto e um conjunto de botões definidos. Se uma janela com vários botões for utilizada, o bloco permite gravar em uma variável a constante de texto correspondente ao botão pressionado pelo usuário. Para este bloco, as seguintes propriedades foram especificadas:

* Título (texto que será exibido no título da janela de diálogo);
* Mensagem (texto que será exibido dentro da janela de diálogo);
* Botões (botões que estarão disponíveis para o usuário pressionar);
* Imagem (imagem que será exibida na janela de diálogo).&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcM_5803ZP9HxSjAlkpZKrmH3qeily8H4uWwTItmlSWBKfccppxB96-RGA3UCldlA15brbSzHaNznCgqrEzHhJ4kEM9ewLsoGAzxU8F0jLiVUtkr-sSNjV7pUh_8NnKjansKKD24TKP_aS9tmd7QdyarOMx?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

3. **Bloco “Condição”** verifica a condição especificada quanto à veracidade, após o que a execução do script continua na saída “Sim” (se a condição for atendida) ou na saída “Não” (se a condição não for atendida).&#x20;

A condição é escrita no formato: “variável” é igual (==)/ maior (>)/ menor (<) “valor”.&#x20;

Por exemplo: $a == “Olá”, ou seja, se o valor da variável $a for igual a “Olá”, então a saída é “Sim”, caso contrário – saída “Não”.

$Result > 5, ou seja, se o valor da variável $Result for menor que 5, então a saída é “Sim”, caso contrário – saída “Não”.

Neste caso, a condição estabelecida é: $Result == "Sim". Ou seja, o valor da variável $Result, que será a saída do bloco anterior, deve ser igual a “Sim” (ou seja, na janela de mensagem aberta, o usuário deve pressionar o botão “Sim”).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeFk03wvwhdQcwV8T0SCbOjaGqw9LzkXKosP9aU2L9d1ySk1gz9A-TutE2ER7eHe1xU6E0DJw6mc0moj-9qvxvgkJtOZW-H3khKVP7DiX7UyzqGWvvpp-ZS-lc7l75u0vM57P5UmRgI5nnHEYLqnl2v8dFt?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

4. **Bloco “Fim”** (este bloco encerra a execução do script ou retorna o diagrama do subprocesso ao processo principal).
5. **Bloco “Laço para cada (Tabela de Dados)”** percorre ciclicamente todas as linhas da tabela de dados.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXenQWTG9Dt6ypJRsm5YenomsXGMRRk5XKeJmMLazh1lkBOIlA4aUbd5fOCgZCWNfkb_e3YZgIqzgPJFYUMGnivpzKichB0IBQ82BP71BfuipvFh2v9WYHjQMdaie4IwQgt-g8i-mXy1zFPiZbuHjJBVhWAn?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

<br>

6. **Bloco “Condição”** verifica a condição especificada quanto à veracidade, após o que a execução do script continua na saída “Sim” (se a condição for atendida) ou na saída “Não” (se a condição não for atendida).&#x20;

A condição é escrita no formato: “variável” é igual (==)/ maior (>)/ menor (<) “valor”.&#x20;

Por exemplo: $a == “Olá”, ou seja, se o valor da variável $a for igual a “Olá”, então a saída é “Sim”, caso contrário – saída “Não”.

$Result > 5, ou seja, se o valor da variável $Result for menor que 5, então a saída é “Sim”, caso contrário – saída “Não”.&#x20;

Neste caso, a condição estabelecida é: -Not \[string]::IsNullOrEmpty($Row\[0]). Ou seja, verifica se o valor da célula zero nesta linha não está vazio.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdLtd2eOg19V6KjSJZJwILxXbN1hLdiciVdv81RF_vbLLaj6ttD5Mbtqw7V_eqZFV-f6__9ZSNz_5Hfbe6wQDoZp-TP9CW1Vh9WrdPRnD02ny_Si4dkhM2RZkJifN8lbhu8HCNCWnzXDWQYKSkUneKGgTSs?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

7. **Bloco “Atribuir valor à variável”** estabelece novos valores para uma ou mais variáveis. Neste caso, nas propriedades, foram especificados três valores que devem ser atribuídos a três variáveis, respectivamente.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeofvqINxLv5i4XMKGF6S2OeSXirpzJFjb6wBK4HIYbZTo0fZjfEC1jFNRMiOnKOjoFODJ1E9YTT1J2oRlK6EK1ys33H_ZiI0JVCrEov-Cy88Y8iG81Z90_Qq-UNNkfeILj87WHcqxZ8GcF50FDDn2Jwavv?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

8. **Bloco “Atribuir valor à variável”** estabelece novos valores para uma ou mais variáveis. Neste caso, nas propriedades, foram especificados três valores que devem ser atribuídos a três variáveis, respectivamente.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcq9jrF5Dscex9CYgDKCFE0nc2tLmnmvXPoF9-gtid0BxAYcCt3wu55gu1hzwazROG67mEhWnmR-1eTkP9RJFYwTv2NmI_pJn1gCrVGmFIwi9h80Zs6IRa_k4BB1SgRvHcKkeNjWYAhCTHWfzirdb5XYTvt?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

9. **Bloco “Obter caminho para o arquivo”** obtém o caminho completo para o arquivo com o nome especificado. Para este bloco, foi especificada uma propriedade “Nome do arquivo” (nome do arquivo junto com seu formato).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe_frG9d0QYigMoYTOGzE-4FNV9f35BtPJQxfro1vqZO4N2_74wmyCycrgAh4Qh-nI9M2LHsUvWsUZYkHGVEGdavx2oOH18HwNgHQj9Dd643LMKfrL40NB569MonEcDtJntrbOtHVs8ZdjxjNGgGJqnXhpn?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

10. **Bloco “Abrir documento”** permite abrir um documento do Word. Para este bloco, foram especificadas as seguintes propriedades:* Usar COM (com a flag ativada, o trabalho será realizado com o Word instalado);
* Caminho para o arquivo (caminho para o arquivo Word que precisa ser aberto).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeB0h3ixgmKL8VwoRlEvgae4S-RjwNQhI9mcBKXFwlKfcUWwhLePRnz2cHIS1u-1gasMjDmUtuOINtXX-WNsW8ztTRcq5znoR4-Y5W2jP3TwPhixebk_MgclY7r9eH0N29-scCvphwD81qtulMu9-y7_mMr?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

11. **Bloco “Substituir todas as variáveis no texto”** permite substituir todas as variáveis %variable% no documento Word. Para este bloco, as seguintes propriedades são especificadas:&#x20;

* Link para o Word (link para o processo de manipulação do documento Word. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o Word", dos blocos "Criar documento" ou "Abrir documento" do grupo Word, que foram usados anteriormente para criar ou abrir este documento);
* Link para o documento (link para o documento Word aberto, no qual o trabalho está atualmente em andamento. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Word, que foram usados anteriormente para criar ou abrir este documento).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeocfN7-dFQpMqfU8aGJ-XTHfJErtWKRfYNreWqQAHHgymZ-KoH6q4OYJ-ATQGwrXTtfW0QR8yses_SWavgjF7GIcuuipB5Wtk8duMobsohZtt5jOYPHX_iqWfmtZpYJClsS9HfNA0dPySXzYEbT-Ix4l0?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

12. **Bloco “Novo Arquivo”**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXewznWWSuOAjmRcqF3nEND2MiQPGnCLrKOQ5Zr2yVgD_vle0nzMdOySkVOcY1Q3nKOsA6qbwvFSoeMpyTWxBMlEGczPXbPjEhnEPW2lI3gCDa1YYRJ4ctHNVd3g99ESWrgo8rFwyrYEUuE31Xm8pTbGbJg?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

13. **Bloco “Salvar documento”** permite salvar o documento Word. Para este bloco, as seguintes propriedades são especificadas:

* Link para o Word (link para o processo de manipulação do documento Word, o nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o Word", dos blocos "Criar documento" ou "Abrir documento" do grupo Word, que foram usados anteriormente para criar ou abrir este documento);
* Link para o documento (link para o documento que precisa ser salvo. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Word, que foram usados anteriormente para criar ou abrir este documento);
* Caminho para o arquivo (caminho para o documento Word).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdFXYb4iQmFrrGxTzNwzGlb6Su0mEXzDEZJqlTA1Tc-Qeb1ysjRunQE81b_HgJ_L9b3Zyt70DcyRUxkCi6fi0RndQyUG-KFvB0U0t-owfl_oN-QcpLVf7Hl30rdhC7X2ubxKmchuGAIDblc95h0rFwLUEuP?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

14. **Bloco “Imprimir documento”** permite enviar o documento Word para impressão. Para este bloco, as seguintes propriedades são especificadas:

* Link para o Word (link para o processo de manipulação do documento Word. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o Word", dos blocos "Criar documento" ou "Abrir documento" do grupo Word, que foram usados anteriormente para criar ou abrir este documento);
* Link para o documento (link para o documento Word aberto, no qual o trabalho está atualmente em andamento. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Word, que foram usados anteriormente para criar ou abrir este documento).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf4x7ullHOdVRmTWepRs06sRyRlR9KTBcF-pfsjxE5MO-8YJz9VsHZDgm6xqq6S9DHyCo3mDoCsGh7cZKg6hvr4RYdWKQJCNr2oMe2_1Fhf7ljmGi0W4MSKDwLZWf0P5lalrQc1ZC6mapgZvb_kU-u1M0bm?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

15. **Bloco “Fechar documento”** permite fechar o documento Word. Para este bloco, as seguintes propriedades são especificadas:

* Link para o Word (link para o processo de manipulação do documento Word. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o Word", dos blocos "Criar documento" ou "Abrir documento" do grupo Word, que foram usados anteriormente para criar ou abrir este documento);
* Link para o documento (link para o documento que precisa ser fechado. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Word, que foram usados anteriormente para criar ou abrir este documento).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcdx3FrPwta7yqRYpR10tiSf4DrOkW7GiwHLso1phhNWPCTO78Z5w3XD76JUkiWpiQ0oQLhfR2PhV5icWp8oAiE55eQ6KILG6T4A2LcEoC_ukUwdo8AMa7V9w_ILK4Fx8TUzdJbsSow3K5Uh08DVqoTWFcQ?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

16. **Bloco “Log”** permite registrar mensagens arbitrárias e/ou valores de variáveis durante a execução do script do robô. Para este bloco, a propriedade “Valor” é especificada. Entre aspas, é indicada uma constante de texto, e o nome da variável começa com o símbolo $. Ou seja, este bloco registra no log do robô uma mensagem de erro.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXczsAyYNdpzHTcTiMSKq-wbaluL92Sm-p5874SkEassfzb1bA2MyXuSwCcqJoZAyErd4iaUIKjyNsspzgTyE5AlenumOoNFFP-2T8OdiSx2yZyswzFTqKuAGqv0HK2_8QSmYt3C4nq1E1bNdKj_NKJtmkRQ?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

17. e 18. **Bloco “Fim”** (este bloco encerra a execução do script ou retorna o diagrama do subprocesso ao processo principal).

**Diagrama “CompleteEnrollment\_CreateFRDO”**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeac7Mcqm72j1jj3bHVXBw96O-KYaGL7kWy5x6sHxopEI9ozIh8dOWoOZayEjd02GtimciXnRiXDFZECJyM84VKQP1q6spOR1pDSwCZj10ESh7Wn79nslT90o4Zst2DtGVcPh6_oKjrcr4lORQMSVlEge_o?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

1. **Bloco “Início”** (este bloco inicia qualquer diagrama).
2. **Bloco “Atribuir valor à variável”** define novos valores para uma ou mais variáveis. Neste caso, nas propriedades, é especificado um valor que deve ser atribuído a uma variável específica.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeY6UJGsC70kaW5DkBF6SwJIwLUUM3tnuDAQB0HuD2EPfV_uQzKmzI94fRntycDA7psM8vWpxaGIlKVSUTBE1dctHdE9l0tgjqX9MIXFiZy1AhAMYepK9MxAOsmAJUhrA3VDgBoky_XXu-xIyNd0VNOSrge?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

3. **Bloco “Obter caminho para o arquivo”** obtém o caminho completo para o arquivo com o nome especificado. Para este bloco, uma propriedade “Nome do arquivo” é especificada (nome do arquivo junto com seu formato).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXclirGH4ONcGWGfDc6Vi0ikqVc-r1d7a6wVdSCQ8mvVvBcSHaW9VV67H8QUy75xJJ_C25mgMq8eISqHc8GiVH5t_aXafDSro9MjJBbzOq1wDr2S_TbrMHxA59ya61YobtrST31RJPdXn_kpKmZPPempxGBx?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

4. **Bloco “Abrir documento”** permite abrir um documento Excel. Para este bloco, a propriedade “Caminho para o arquivo” é especificada (caminho para o documento Excel que precisa ser aberto).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdnAcSkvmns-qPISVTLyzoekddszqX6lH63NN5X8tHLRP3syo5CHCUs5IuQQagdYwc6QPlOWYnc6YLqjlaYixZA6odr_Jz10I9LrLxtXkTloaTnPfm1TT3E82jBKQ8zQLXBSg3vz_fr5lfuMNJXg9ZnGk8h?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

5. **Bloco “Laço para cada (Tabela de Dados)”** percorre ciclicamente todas as linhas da tabela de dados.<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfhpBHMN5o-_zc-x9ge6U_pmyO_QzQK7GVWCSqOJEa2TLbfcX5-S6mR5YpzsHYImuiazFrGRgzNyqH_CxrTdhFIueiQLoNN1lZEBTmgZuRTxIhOugx_m84studv7G4WhhVSsBKWxrlpJKbVnKLUowu2B_yq?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

6. **Bloco “Obter caminho para o arquivo”** obtém o caminho completo para o arquivo com o nome especificado. Para este bloco, uma propriedade “Nome do arquivo” (nome do arquivo junto com seu formato) é especificada.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf0mKMpu4fLl1-cw0lmfaVYB14i8lPwLd23OzOtfhWR7nyxlV6XBs-4c_QN_EaTHM5lHUM_als8X8bW7msGD_saIHj9sfLntolHAyYJG-lkqbqrFrpOraKLmEzYvbe-A7---ehfeXZ9zAuVR_LlTMiSBhVH?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

7. **Bloco “Salvar documento”** permite salvar um documento Excel. Para este bloco, as seguintes propriedades são especificadas:

* Link para Excel (link para o processo de processamento do documento Word, o nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para Excel", blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
* Link para o documento (link para o documento que deve ser salvo. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
* Caminho para o arquivo (caminho para o documento Excel).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeKtDSxHNebsDPHvkHGrkdyTdd1a3pHhDU-pUm4M0m7piPPwBVWP9D2YDHZA-yJIeQ6JeEpGCAEtSA73brSKMRKWa5uLhE8RdriyjYKxK4d04n1Ed_DA66GZTyfF5RWkCBVjweeDCNqGA-z_o6T4-7P4KxS?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

8. **Bloco “Fechar documento”** permite fechar um documento Excel. Para este bloco, as seguintes propriedades são especificadas:

* Link para Excel (link para o processo de processamento do documento Excel. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para Excel", blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
* Link para o documento (link para o documento que deve ser fechado. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdjArGf8-ZzDiEeJztzE5UnxH_yOlJhLuX1ENo123UeJejulCWEde2GCYRTtrQdm-mYOnnzydW9cveYg1748KQ3hEY9XiJ392R-Dlrn5qqexaB9yzhg6iHf9ox32yUt0UhYB3BeeJcnI9HPM1o5MMk7XIHJ?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

9. **Bloco “Adicionar elemento à lista”** adiciona o elemento especificado ao final da lista. Para este bloco, as seguintes propriedades são especificadas:

* Lista (lista à qual o novo elemento deve ser adicionado);
* Elemento (elemento, especificado neste caso como variável, que deve ser adicionado à lista).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXciKuemL96_s7Te0MMFtx8z9YYyGYrQ01kPRwl3WFKJNsKOZ2SmkqY9lk850KfSOt32F11I_imtX9ILwi0hY7qZXvuBJVJdU-uQBXJGSYz8Bwar8u0eg0PBCH_4HBzzJBwNotbgdoh5Ig0gsYs2ANHTvy_F?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

10. **Bloco “Enviar e-mail”** permite enviar um e-mail usando o protocolo SMTP. Para este bloco, as seguintes propriedades são especificadas:

* Servidor;
* Login (login necessário para autenticação no servidor);
* Senha (senha necessária para autenticação no servidor);
* SSL (flag definido ativa o uso de conexão segura);
* Email do remetente (o E-mail de onde o e-mail será enviado);
* Email do destinatário (E-mail do destinatário para o qual o e-mail deve ser enviado);
* Assunto do e-mail (assunto do e-mail);
* Texto do e-mail (conteúdo do e-mail);
* Marcação HTML (flag definido ativa a função de enviar o conteúdo do e-mail como uma página HTML, que pode conter tags);
* Anexos (lista de caminhos para arquivos que serão anexados ao e-mail);
* Timeout (Tempo de espera pela resposta do servidor em milissegundos);\
  Nota: em versões mais recentes do Sherpa Designer, esta propriedade é chamada “Tempo de espera” e é especificada em segundos.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc45r-lzI2DrDrS8MM3ZDrmQov6VqIDlcBa8QfJAT9cMWZdj1-6KM73BZuwUol4kUq5hSF9B-v7HbaeR8XVy-mdVP-m_N7fCiNbUxokuB1-DN-Aq9rdCi72FZg7rcYWFk1Z7GZ5fBkdNKL1stKkHyAL5EGj?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

11. **Bloco “Log”** permite registrar mensagens arbitrárias e/ou valores de variáveis durante a execução do script do robô. Para este bloco, a propriedade “Valor” é especificada. Em aspas, uma constante de texto é indicada, e o nome da variável começa com o símbolo $. Ou seja, este bloco registra no log do robô arquivos de anexos, especificados por meio de uma variável.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcjMc2Niq23uUJzKUG20qvUYOV5s8AmgQ8Vj_qgHyoXpKnLr9Rd9YXlFHlYxhK3l3ekvk9Gq62t6G4rpruw4dqI8rBsaNlcSMcTVi1A-rXllzJp8nMTZeR4qoVQCzMjW1rjIdT--ocOfS1ZAqMvmaQ6g0_s?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

12. **Bloco “Log”** permite registrar mensagens arbitrárias e/ou valores de variáveis durante a execução do script do robô. Para este bloco, a propriedade “Valor” é especificada. Em aspas, uma constante de texto é indicada, e o nome da variável começa com o símbolo $. Ou seja, este bloco registra no log do robô uma mensagem de erro.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfziuJqMbV6zqZgtQ1d6R1xvL_Z5HmYf-Ag-euMp_ppny8QRpYPtMbnc_7EXpzspBrVLNnibmNNvBemVrEfZ2PD-c5Lati83tGTBvjQb_fhil7UI_6CBSU3Xep9z-O9Uo-BzmLfkz_XVMDeulExSY22K2O1?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

13. **Bloco “Condição”** verifica a condição especificada para ver se é verdadeira, após o que a execução do script continua na saída “Sim” (se a condição for atendida) ou na saída “Não” (se a condição não for atendida).&#x20;

A condição é registrada no formato: “variável” é igual (==)/ maior (>)/ menor (<) “valor”.&#x20;

Por exemplo: $a == “Olá”, ou seja, se o valor da variável $a for igual a “Olá”, então a saída é “Sim”, caso contrário – a saída é “Não”.

$Result > 5, ou seja, se o valor da variável $Result for menor que 5, então a saída é “Sim”, caso contrário – a saída é “Não”.

Neste caso, a condição estabelecida é: -Not \[string]::IsNullOrEmpty($Row\[0]). Ou seja, verifica se o valor da célula zero nesta linha não está vazio.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdyBSLPP3unN5p3PVdaejHxsrhviVpLf7NCiVgAFHxgwgtdXpXOu-uXgq_hBpT16WUgqOPSwNlH1sttKa3uw5PP6sy8F33WiPtb46C2N6b5mosgaYjjCBoGWg7KEZ_KPoVyJVaZQwbKalQL6x_ejEHWOx9M?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>```markdown
14. **Bloco “Ciclo”** permite repetir uma sequência de ações (blocos) várias vezes e contar o número de iterações do ciclo, registrando a quantidade atual em uma variável especial (indicada na propriedade “Ciclo”), que pode ser utilizada em outros blocos. Na primeira entrada no bloco, o valor da variável da propriedade “Ciclo” é igualado ao “Valor Inicial” (neste caso, é igual a 1), e então a execução do cenário continua em direção à saída “Ciclo” deste bloco (no chamado “corpo do ciclo”). Assim que a execução do cenário chegar novamente a este bloco, o valor da variável “Ciclo” aumentará em “Passo” (neste caso, é igual a 1), e novamente ocorrerá a transição em direção à saída “Ciclo”. Assim que o valor da variável “Ciclo” se tornar maior ou igual ao “Valor Final” (neste caso, é igual a 37), a execução do cenário continuará em direção à saída inferior do bloco. Não se esqueça de conectar a saída do último bloco no corpo do ciclo à entrada deste bloco ou de algum dos blocos anteriores.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe8tG5siJ6NQxWCighczDF6bm5OuCJvi1b1_PXQjIlSPBAm7022gilMYQvMxd_MY6RTj3heM-5g7faRA71VqC99X2LUuKbB10JLk2lvEmwJsjpH-cDhDNhx9IV9hYRsLSXOtu5NI1d6T70RWqWFssrui-8?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

15. **Bloco “Executar expressão PowerShell”** inicia a execução de uma ou mais expressões em uma linguagem compatível com PowerShell. Neste caso, é utilizada uma expressão: $TableFRDOIndex. Ela adiciona uma unidade à variável.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeAnTJNR_HUfrER0yVqg1g2z-Q-_o1C-VBur3ggayU09ROXPMsOGsdEAFfltRdfLPpYQWluSOZiOo4hcy4JyTg0OfUVAYoY9WeSAy6vrPiwi6iNin_EY2Lvyq2goN9ivb9Pj8p5avoR0V2aVYaejWeayUg?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

16. **Bloco “Gravar valor na célula”** permite gravar um valor em uma célula de um documento Excel. Para este bloco, as seguintes propriedades são especificadas:

* Link para o documento (link para o documento com o qual está sendo trabalhado no momento. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
* Planilha (número ordinal da planilha onde a célula desejada está localizada. A numeração começa em 1);
* Linha (Número da linha onde a célula desejada está localizada. A numeração começa em 1);
* Coluna (Número da coluna onde a célula desejada está localizada. A numeração começa em 1);
* Valor (variável que deve ser gravada na célula desejada).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfiTZY1dKDDgTBMeqOB92H_DSeZQ7aM3gz7MITV66eZLbrehxeM0lPLgkomhDfeQwdudorRJcYVOTfr-nS4HaHDHFDIy0wlx_U-4Gq9HpO9WbyN-5h_SBVVyKXe9pIF93ZvJUlrrmbq7YoiLsSJA13XYmc?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

17. e 18. **Bloco “Fim”** (este bloco encerra a execução do cenário ou retorna o diagrama do subprocesso ao processo principal).
````


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sherparpa.ru/pt/sherpa-rpa/sherpa-designer/primery-robotov/enroll-certificates/complete-enrollment.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
