Экспорт таблицы Excel в Word с использованием PasteFormat возвращает ошибку 4605 Команда недоступна - PullRequest
0 голосов
/ 12 декабря 2018

Итак, я пытаюсь понять, что не так с моим кодом.Все, что я делаю, - это беру некоторые диаграммы в своей книге Excel и экспортирую их в документ Word, но я продолжаю получать сообщение об ошибке, если пытаюсь вставить их определенным образом.Вот мой код:

Sub ExportingToWord_MultiplePages2()

    'Declare Word Variables
    Dim WrdApp As Word.Application
    Dim WrdDoc As Word.Document

    'Declare Excel Variables
    Dim ChrtObj As ChartObject

    'Create a new instance of Word
    Set WrdApp = New Word.Application
        WrdApp.Visible = True

    'Create a new word document
    Set WrdDoc = WrdApp.Documents.Add

    'Loop through the charts on the active sheet
    For Each ChrtObj In ActiveSheet.ChartObjects

        'Copy the chart
        ChrtObj.Chart.ChartArea.Copy

        **'THIS WON'T RETURN AN ERROR**
        With WrdApp.Selection
            .PasteAndFormat Type:=wdChartPicture
        End With

        '**THIS WILL RETURN THE ERROR**
        With WrdApp.Selection
            .PasteAndFormat Type:=wdChartLinked
        End With

        'Clear the Clipboard.
        Application.CutCopyMode = False

    Next ChrtObj

End Sub

Это странная часть, потому что я предоставил два разных способа вставки: первый, я вставляю его в виде диаграммы, и он отлично работает.Однако, если я попытаюсь wdChart или wdChartLinked , это не сработает!Я получаю сообщение об ошибке 4605 «Команда не доступна».

Есть мысли о том, почему это так?

1 Ответ

0 голосов
/ 12 декабря 2018

Итак, я нашел решение этой проблемы, но Я все еще не уверен, почему PasteFormat не будет работать со связанной диаграммой .

Если я заменю:

'**THIS WILL RETURN THE ERROR**
With WrdApp.Selection
    .PasteAndFormat Type:=wdChartLinked
End With

С учетом следующего: Я больше не получаю сообщение об ошибке :

'**THIS WILL NOT RETURN AN ERROR**
With WrdApp.Selection
    .PasteSpecial Link:=True, DataType:=wdPasteOLEObject
End With

Я думаю, это связано с форматом диаграммы или чем-то еще, но я все еще нахожустранно, что я могу вставить его как рисунок, используя PasteFormat, но не как связанный график.

...