VBA在活动的Word文档光标处粘贴选中的Excel Chart图表

Sub ChartToDocument()
' Set a VBE reference to Microsoft Word Object Library

Dim WDApp As Word.Application
Dim WDDoc As Word.Document

' Make sure a chart is selected
If ActiveChart Is Nothing Then
    MsgBox "Please select a chart and try again.", vbExclamation, _
        "No Chart Selected"
Else
    ' Reference existing instance of Word
    Set WDApp = GetObject(, "Word.Application")
    ' Reference active document
    Set WDDoc = WDApp.ActiveDocument
    
    ' Copy chart as a picture
    ActiveChart.CopyPicture Appearance:=xlScreen, Size:=xlScreen, _
        Format:=xlPicture

    ' Paste chart at cursor position
    WDApp.Selection.PasteSpecial Link:=False, DataType:=wdPasteMetafilePicture, _
        Placement:=wdInLine, DisplayAsIcon:=False

    ' Clean up
    Set WDDoc = Nothing
    Set WDApp = Nothing
End If

End Sub

编程技巧