Como seria uma macro do Outlook 2007 para automatizar a opção Colar especial - Texto não formatado?

6

Gostaria de atribuir uma macro no Outlook 2007 a um botão da Barra de Ferramentas que executaria o equivalente a esses cliques quando houvesse texto formatado na área de transferência do Windows:

  1. Clique no ícone Colar, na seta inferior
  2. Clique no link Colar especial.
  3. Clique no link Texto não formatado.

Tenho macros semelhantes no Excel 2007 e no Word 2007, mas não consegui fazer com que uma funcionasse no Outlook 2007 / VBA. Qual seria o código VBA para essa macro?

    
por Gary Petersen 19.08.2009 / 01:59

2 respostas

5

Com muita ajuda da autora Sue Mosher, finalmente consegui uma macro trabalhando no Outlook 2007 para automatizar os cliques do mouse de Colar - Colar Especial - Texto Não Formatado! WOO-HOO !!!!

A maior parte do que eu corto e colo nas mensagens de e-mail do Outlook é formatada. Colar com CTRL-V ou clicando no botão Colar mantém essa formatação intacta. Clicar em Colar - Colar especial - Texto não formatado não é grande coisa, mas leva alguns segundos toda vez que faço isso - e faço muito isso. Então essa pequena coisa será uma economia de tempo para mim.

A sub-rotina do VBA:

Sub Paste_Special_Unformatted()
    Dim objDoc As Word.Document
    Dim objSel As Word.Selection
    On Error Resume Next
    ' get a Word.Selection from the open Outlook item
    Set objDoc = Application.ActiveInspector.WordEditor
    Set objSel = objDoc.Windows(1).Selection
    ' now do what you want with the Selection
    objSel.PasteSpecial Link:=False, DataType:=wdPasteText
    Set objDoc = Nothing
    Set objSel = Nothing
End Sub

Para fazê-lo funcionar, também precisei abrir o editor do VBA no Outlook 2007, clicar em Ferramentas - Referências e habilitar a referência para a biblioteca de objetos do Microsoft Word 12.0. Em seguida, vinculei a macro a um botão personalizado nas barras de ferramentas do QAT para criar novas mensagens e respostas e funcionou muito bem!

Eu já mencionei isso antes, mas WOO-HOO !!!!

Obrigado, Sue!

    
por 27.08.2009 / 06:21
1

Deve ser o mesmo que no Word 2007:

    Sub FormatText()
'
' FormatText Macro
'
'
    Selection.PasteAndFormat (wdFormatPlainText)
    Selection.PasteSpecial Link:=False, DataType:=20, Placement:=wdInLine, _
        DisplayAsIcon:=False
End Sub
  1. No Outlook, aponte para Macro no menu Ferramentas e clique em Editor do Visual Basic.
  2. Na janela Project, clique duas vezes no módulo que você deseja que contenha a macro.
  3. No menu Inserir, clique em Procedimento.
  4. Na caixa Nome, digite um nome para a macro e clique em OK. Digite o código que você deseja executar no corpo da sub-rotina (ou copie / cole do Word)
por 19.08.2009 / 20:16