Como desativar o alerta “muita coisa na área de transferência”

0

Quando eu copio algo, e saio do software (excel ou word, e talvez outros) eu tenho um alerta, perguntando se eu quero manter ou deletar o conteúdo da área de transferência, porque ela é muito grande. Hora após hora esse alerta modal me irrita, isso é uma maneira de desativá-lo?

Porque, se eu copiar algo na área de transferência, SIM, quero que ele permaneça na área de transferência.

    
por FredericP 15.12.2016 / 09:05

1 resposta

2

Até onde sei, não há como evitar esse aviso, porque a Microsoft não quer que você perca seus dados por acidente (por exemplo, fechando o Word antes de colar algum texto em outro programa).

É apenas devido à maneira como a Área de Transferência do Windows funciona. Quando você copia e cola coisas, para programas modernos, o aplicativo de origem ainda pode interagir com o aplicativo de destino ao tentar inserir algo que você copiou. É assim que você é capaz de copiar texto em um navegador da Web e inseri-lo como texto formatado em HTML em um documento do Word, por exemplo (exatamente ao contrário).

Embora a área de transferência do Windows suporte, por si só, alguns formatos de mídia diferentes, técnicas como essa permitiram que os desenvolvedores expandissem as possibilidades.

Se você não quiser que o aviso apareça, basta copiar e colar seu conteúdo antes de fechar o programa, depois copiar algo pequeno (como uma palavra ou célula) e você não receberá a mensagem. Como alternativa, você pode abrir o painel Área de transferência (clique na seta na parte inferior direita da seção Área de transferência na faixa Inserir) e excluir trechos antes de fechar.

Quando você pode automatizar isso usando uma macro como explicado aqui, embora eu queira realmente recomendo, porque algum tempo, mais cedo ou mais tarde, você perderá texto ou formatação dessa maneira que queria manter.

'Events: http://msdn.microsoft.com/en-us/library/bb208800.aspx
Sub AutoExit()
    ClearClipboard
End Sub

Sub ClearClipboard()
    Dim MyData As Object
    ' source: http://akihitoyamashiro.com/en/VBA/LateBindingDataObject.htm
    Set MyData = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    MyData.SetText ""
    MyData.PutInClipboard
    Set MyData = Nothing
End Sub
    
por 15.12.2016 / 09:34