PasteSpecial из сообщения Outlook - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть макрос, который вставляет значения и присваивается ctrl+v.Это работает нормально для всех, кроме текста, который копируется из заголовка сообщения Outlook.Существует ошибка

во время выполнения 1004 «Метод« PasteSpecial »объекта« Range »не выполнен».

Кто-нибудь знает почему?И как это исправить?

Я потратил много времени на поиск ответа в сети, но безрезультатно.

Мой код:

Sub Paste_As_Value()
Selection.PasteSpecial Paste:=xlPasteValues
End Sub

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Я нашел решение своей проблемы.Есть код:

Sub Paste_As_Value()
On Error Resume Next
Selection.PasteSpecial Paste:=xlPasteValues
If Err.Number > 0 Then
    ActiveSheet.PasteSpecial Format:="Tekst Unicode", Link:=False, _
        DisplayAsIcon:=False, NoHTMLFormatting:=True
End If
End Sub
0 голосов
/ 20 февраля 2019

Если вы хотите лучше контролировать данные в буфере обмена, вы можете использовать код ниже.Например, вы можете использовать этот тотод-тест, если заголовок можно извлечь как текст вообще.

Вам потребуется включить «Библиотеку объектов MS Forms 2.0» в ссылках VBA, чтобы использовать DataObject.

Dim DataObj As MSForms.DataObject, ClipStr as string

    Set DataObj = New MsForms.DataObject 'dataobject with ability to retrieve data from clipboard

    DataObj.GetFromClipboard ''Gets data from clipboard
    ClipStr = DataObj.GetText(1) ''Get content from dataobj

    msgbox ClipStr
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...