Как будет выглядеть макрос Outlook 2007 для автоматизации Специального вставки - неформатированный текст?

6

Я хотел бы назначить макрос в Outlook 2007 на кнопку панели инструментов, которая будет выполнять эквивалент этих кликов, когда в буфере обмена Windows есть форматированный текст:

  1. Нажмите иконку Вставить у нижней стрелки
  2. Нажмите на ссылку Специальная вставка.
  3. Нажмите на ссылку «Неформатированный текст».

У меня есть похожие макросы в Excel 2007 и Word 2007, но я не смог заставить их работать в Outlook 2007 / VBA. Каким будет код VBA для такого макроса?

Гари Петерсен
источник

Ответы:

5

Благодаря большой помощи автора Сью Мошер, мне наконец-то удалось настроить макрос, работающий в Outlook 2007, для автоматизации щелчков мышью «Вставить - Специальная вставка - Неформатированный текст»! Ух ты !!!!

Большая часть того, что я вырезал и вставил в почтовые сообщения Outlook, отформатирована. Вставка с помощью CTRL-V или нажатия кнопки Вставить сохраняет это форматирование без изменений. Нажатие «Вставить» - «Специальная вставка» - «Неформатированный текст» не имеет большого значения, но каждый раз, когда я делаю это, требуется пара секунд - и я делаю это МНОГО. Так что эта мелочь будет для меня временем.

Подпрограмма 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

Чтобы заставить его работать, мне также нужно было открыть редактор VBA в Outlook 2007, щелкнуть Инструменты - Ссылки и включить ссылку на библиотеку объектов Microsoft Word 12.0. Затем я связал макрос с пользовательской кнопкой на панелях инструментов QAT для создания новых сообщений и ответов, и она работала просто отлично!

Возможно, я упоминал об этом раньше, но WOO-HOO !!!!

Спасибо, Сью!

Гари Петерсен
источник
1

Это должно быть так же, как в Word 2007:

    Sub FormatText()
'
' FormatText Macro
'
'
    Selection.PasteAndFormat (wdFormatPlainText)
    Selection.PasteSpecial Link:=False, DataType:=20, Placement:=wdInLine, _
        DisplayAsIcon:=False
End Sub
  1. В Outlook укажите «Макрос» в меню «Сервис» и выберите «Редактор Visual Basic».
  2. В окне Project дважды щелкните модуль, в котором вы хотите разместить макрос.
  3. В меню «Вставка» выберите «Процедура».
  4. В поле «Имя» введите имя макроса и нажмите «ОК». Введите код, который вы хотите запустить в теле подпрограммы (или скопируйте / вставьте его из Word)
Нику Зечеру
источник
Я получаю ошибку времени выполнения '424' Объект требует ошибку при попытке этого.
Гэри Петерсен