Outra função é quando você precisa remover pontos e traços de um número CPF ou CNPJ, para colar em um programa que não permite digitar esses caracteres. Ou quem sabe remover os espaços entre os números de uma chave de acesso da nota eletrônica...
Pois bem, pensando em facilitar minha rotina e a de meus colegas, fiz este script simples, porém bastante útil no meu dia a dia.
Code: Select all
#Requires AutoHotKey v2.0
; Selecione algum texto em qualquer programa, seja o navegador, editor de texto, formulários, Excel, Word, Emissor de nota, etc...
; Clique com o botão do meio do mouse (rodinha) para mostrar o menu com as opções.
; Selecione a opção desejada e o texto será colado com a formatação escolhida.
TraySetIcon("shell32.dll", 75)
#HotIf
; A tecla de atalho pode ser mudada facilmente sem alterar o funcionamento do script!
Mbutton::
{
; Coleta o ID da última janela que será usado para forçá-la a permanecer ativa antes de colar o texto formatado
global ActiveHwnd := WinExist("A")
Send "{Ctrl Down}c{Ctrl Up}"
ClipWait 1, 0
cmenu := Menu()
cmenu.add("Converter para MAIÚSCULAS", maiusculas)
cmenu.SetIcon("Converter para MAIÚSCULAS", "shell32.dll", 75)
cmenu.add("Converter para minúsculas", minusculas)
cmenu.SetIcon("Converter para minúsculas", "shell32.dll", 75)
cmenu.add("Converter Para Modo Título", titulos)
cmenu.SetIcon("Converter Para Modo Título", "shell32.dll", 75)
cmenu.add("Converter para modo frase", frases)
cmenu.SetIcon("Converter para modo frase", "shell32.dll", 75)
cmenu.add("Remover espaços e pontuação", remover_pontuacao)
cmenu.SetIcon("Remover espaços e pontuação", "shell32.dll", 75)
cmenu.Show()
Send "{MButton up}"
}
; Cola o texto da área de transferência mudando para MAIÚSCULAS
maiusculas(*)
{
WinActivate ActiveHwnd
SendInput StrUpper(A_Clipboard)
}
; Cola o texto da área de transferência mudando para minúsculas
minusculas(*)
{
WinActivate ActiveHwnd
SendInput StrLower(A_Clipboard)
}
; Cola o texto da área de transferência mudando para modo título
; (cada palavra com a primeira letra maiúscula)
titulos(*)
{
WinActivate ActiveHwnd
SendInput StrTitle(A_Clipboard)
}
; Cola o texto da área de transferência mudando para modo frase
frases(*)
{
WinActivate ActiveHwnd
SendInput modofrase(A_Clipboard)
modofrase(str)
{
return StrUpper(SubStr(str, 1, 1)) StrLower(SubStr(str, 2))
}
}
; Cola o texto da area de transferencia limpando pontos, traços, barras, espaços, tabulações e "R$"
remover_pontuacao(*)
{
WinActivate ActiveHwnd
SendInput RegExReplace(A_Clipboard, "([\(\):;./-\s\n]*|R\$)")
}