Como seria uma macro do Outlook 2007 para automatizar 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 houver texto formatado na área de transferência do Windows:

  1. Clique no ícone Colar pela 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 fazê-lo funcionar no Outlook 2007 / VBA. Qual seria o código VBA para essa macro?

Gary Petersen
fonte

Respostas:

5

Com muita ajuda da autora Sue Mosher, finalmente consegui obter uma macro funcionando no Outlook 2007 para automatizar os cliques do mouse em Colar - Colar especial - Texto não formatado! WOO-HOO !!!!

A maior parte do que recordo e colo nas mensagens de email do Outlook é formatada. Colar com CTRL-V ou clicar no botão Colar mantém a formatação intacta. Clicar em Colar - Colar especial - Texto não formatado não é grande coisa, mas leva alguns segundos toda vez que eu faço - e faço MUITO. Portanto, esta pequena coisa será uma economia de tempo para mim.

A sub-rotina 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, eu também precisei abrir o editor 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 posso ter mencionado isso antes, mas WOO-HOO !!!!

Obrigado, Sue!

Gary Petersen
fonte
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 Projeto, clique duas vezes no módulo que você deseja conter 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-o no Word)
Nicu Zecheru
fonte
Recebo um erro em tempo de execução '424' Erro de objeto necessário ao tentar isso.
22640 Gary Petersen