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

7440
Gary Petersen

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

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

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

6

2 ответа на вопрос

5
Gary Petersen

Благодаря большой помощи автора Сью Мошер, мне наконец-то удалось настроить макрос, работающий в 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
Nicu Zecheru

Это должно быть так же, как в 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' Объект требует ошибку, когда я пытаюсь это сделать. Gary Petersen 14 лет назад 0

Похожие вопросы