Pesquisar neste blog:

20/04/2020

Dinheiro, data e porcentagem em Mala Direta - Como configurar?


Após fazer mala direta (menu correspondência do Word) é necessário configurar os campos. De maneira resumida, clique com o botão direito no campo e depois em "Alternar códigos de campo". Basta adicionar os códigos a seguir, que estão em vermelho, antes de fechar a chave "}". Depois da adição dos códigos, clique com o botão direito e "Atualizar Campo". Veja os exemplos:

{MERGEFIELD Total \# "R$#.##0,00;-(R$#.##0,00)"}
Para valores positivos R$13,31
Dados na Planilha do Excel: 13,31111
Para valores negativos -(R$21,50) 
Dados na Planilha do Excel: -21,5 

{MERGEFIELD Total \# R$.0,00}
R$0,58 no lugar de 0,57700001
Dados na Planilha do Excel: 0,577.
Não recomendado para valores negativos, pois ficarão R$-0,58.

{MERGEFIELD Data \@"d 'de' MMMM 'de' yyyy"}
10 de fevereiro de 2020 no lugar de 2/10/2020.
Dados na Planilha do Excel: 10/02/2020.

{MERGEFIELD Data \@"dd'/'MM'/' yyyy"}
31/12/2020 no lugar de 12/31/2020.
Dados na Planilha do Excel: 31/12/2020.


Outra configuração interessante é a escrita de números por extenso, mas o recurso é válido apenas para números inteiros até 999.999. Para valores monetários a ideia é criar duas fórmulas no Excel, em colunas separadas, e obter a parte inteira para os reais e os decimais para os centavos. Supondo que o número está na célula "A1" temos a fórmula "=INT(A1)" que retorna o valor inteiro. Já os centavos podem ser extraídos pela fórmula "=INT(100*(A1-INT(A1)))". Assim, teremos o valor dividido em dois campos, "reais" e "centavos", configurados pela seguinte fórmula: 

{MERGEFIELD reais \*cardtext} reais e {MERGEFIELD centavos\*cardtext} centavos.
Mil seiscentos e cinqüenta e Dez centavos no lugar de 1650,10.
Dados na Planilha do Excel: 1650,10.


Se você não quiser dividir em duas partes (reais e centavos), então terá que inserir um campo dentro do outro no Word. Para criar um campo basta teclar "Ctrl+f9" e formará "{}". Tecle novamente e terá um campo dentro do outro"{{}}" (Atenção: se colocar as chaves "{}" manualmente elas não formarão um campo). 


{=INT({MERGEFIELD Total \# .0,00})\*cardtext} reais e {=100*( {MERGEFIELD Total \# .0,00} -INT({MERGEFIELD Total \# .0,00}))\# "0"\*cardtext} centavos.

Dados na Planilha do Excel: 1655,331 
Mil seiscentos e cinqüenta e cinco reais e Trinta e três centavos.

Dados na Planilha do Excel: 0,6660001
Zero reais e Sessenta e sete centavos.

Observe que a parte azul do código corresponde aos valores, da mala direta do excel, formatados com duas casas decimais. A  função INT retorna a parte inteira do número, ou seja, o que está antes da vírgula é exibida como reais. Já os centavos são calculados de maneira semelhante à fórmula apresentada anteriormente "=INT(100*(A1-INT(A1)))" convertida para a linguagem do Word.

Para porcentagem utilizaremos um campo dentro do outro (Ctrl+F9 para adicionar o campo, mas atenção, pois não funciona se colocar as chaves "{}" manualmente).

{={MERGEFIELD porcentagem}*100 \# .0,00%}

Dados da Planilha do Excel: 0,2999999999
30,00%

Finalmente, segue a fórmula para configurar em dólares (até USD 999,999,999.99 ) com "," e "." separando os milhares e decimais, respectivamente. (Atenção todas as chaves "{}" deverão ser geradas com "Crtl+F9")

USD{IF{MERGEFIELD dolar}<{=1000}{=INT({ MERGEFIELD dolar})\#"0"}{IF{MERGEFIELD dolar}<{=1000000}{=INT({MERGEFIELD dolar})\#"0','000"}{=INT({MERGEFIELD dolar})\#"0','000','000"}}}.{=MOD({MERGEFIELD dolar};1)*100 \#00}

Aqui, o valor {=1000} tem que ser um campo para transformar o texto "1000" em número. A função MOD(a;1) retorna o resto da divisão de "a" por "1", ou seja, apenas a parte decimal do número.

Dicas importantes: 
1) Para atualizar os campos você poderá teclar "Ctrl+t" para selecionar tudo e depois F9;
2) Não confunda aspas simples ' com aspas dupla ", pois são caracteres distintos e duas simples não formará uma dupla;
3) Você terá que repetir o procedimento de "Alternar códigos de campo" em campo dentro de outros campos;
4) Digirar "{}" não criará um campo, para criar utilize "Ctrl+F9".

Consideração final: a função TEXTO no Excel transforma um número para texto seguindo uma formatação,  exemplo =TEXTO(A1;"0,00"). Assim, o número que estiver em A1 será formatado para duas casa decimais "0,00" e poderá ser importado no Word como texto, sem a necessidade de alterar ou adicionar a formatação no campo do Word.

Um abraço,

09/04/2020

Instalar GNU OCTAVE e o pacote IMAGE (importar pdf e binarizar)



Como instalar o programa GNU OCTAVE, bem como seus pacotes.
  • IMPORTANTE: Percebi, após a criação do vídeo, que é necessário a instalação do GhostScript  para que o comando "imread" funcione;
  • Download e instalação do GNU octave, em 0:55;
  • Download e instalação do Pacote "image", em 3:15;
  • Importar uma página do PDF, em 5:15;
  • Carregar o pacote e executar o comando im2bw para binarizar, em 6:29.

RESUMO:
  • Baixar e instalar GNU Octave ;
  • Fazer o download do pacote "image";
  • Mudar o "Diretório Atual"  do GNU OCTAVE (GUI) para o local onde está o image-2.12.0.tar.gz;
  • Instale o pacote image (demorou 7 minutos em minha máquina) com o comando:
pkg install image-2.12.0.tar.gz   
%Importar a página 3 do arquivo "in.pdf" ( o PDF deverá estar no "Diretório Atual")
rgb = imread ("in.pdf",3);
imshow(rgb) 
%Carregar o pacote "image" e binarize a imagem gravada na variável "rgb"
pkg load image
bw=im2bw(rgb);
imshow(bw)

Atenção: Se o GhostScript não estiver instalado, o 
programa retornará o seguinte erro:

>> imread("in.pdf")
Magick: "gswin32c" "-q" "-dBATCH" "-dSAFER" "-dMaxBitmap=50000000" "-dNOPAUSE" "-sDEVICE=ppmraw"
"-dTextAlphaBits=4" "-dGraphicsAlphaBits=4" "-r72x72" "-dFirstPage=1" "-dLastPage=1" "-sOutputFil
e=C:\Users\vanin\AppData\Local\Temp\gmncleNd" "--" "C:\Users\vanin\AppData\Local\Temp\gmEh1Xv4" "
-c" "quit" [No such file or directory].
error: Magick++ exception: Magick: Postscript delegate failed (C:\Users\Seu_usuários\Desktop\TexML2.0\IN
entrada\in.pdf) reported by coders/pdf.c:434 (ReadPDFImage)
error: called from
    _imread_ at line 80 column 10
    imageIO at line 118 column 28
    imread at line 106 column 33
*Adicione o caminho "C:\Program Files (x86)\gs\gs9.54.0\bin" no path de sua máquina. Para isso, digite e entre em "Editar as variáveis de ambiente do sistema" no localizar. 



Clique em "Variáveis de Ambiente..." - selecione a linha "Path" - clique em "Editar..." - clique em "Novo" e adicione o caminho "C:\Program Files (x86)\gs\gs9.54.0\bin" com os números vermelhos coerentes com a versão que você instalou.

Um abraço.

SIGA-NOS