2

1枚のシートの一連のグラフを1つのドキュメントに単語でコピーしようとしていますが、何らかの理由で最新の貼り付け(シートの最後のグラフを意味します)しか取得できません。繰り返しがすべてのグラフを通過することを知っています。なぜなら、グラフごとに1つの単語のドキュメントを印刷するようにコードを変更すると、そうなりますが、グラフを一緒にしたいので、助けてください。

コード:

Sub ChartsToWord()

Dim WDApp As Word.Application
Dim WDDoc As Word.Document
Dim iCht As Integer
Dim Msg As String

Set WDApp = CreateObject("Word.Application")
Set WDDoc = WDApp.Documents.Add

For iCht = 1 To ActiveSheet.ChartObjects.Count
    ' copy chart as a picture
    ActiveSheet.ChartObjects(iCht).Chart.CopyPicture _
        Appearance:=xlScreen, Size:=xlScreen, Format:=xlPicture


    WDDoc.Content.PasteSpecial Link:=False, DataType:=wdPasteMetafilePicture, _
        Placement:=wdInLine, DisplayAsIcon:=False

    WDDoc.Content.InsertParagraphAfter
Next
WDDoc.SaveAs ("C:\Users\confidential\Documents\charts.doc")
    WDDoc.Close ' close the document

' Clean up
    Set WDDoc = Nothing
    Set WDApp = Nothing

End Sub
4

1 に答える 1

4

行頭を次のように置き換えてくださいPasteSpecial

WDApp.Selection.Range.PasteSpecial ... 'and so on

あなたの状況では、現在の段落ではなく、ドキュメント全体にグラフを貼り付けます。

もう1つの提案。以下を使用して、新しい段落を挿入できます。

WDApp.Selection.MoveEnd wdStory
WDApp.Selection.Move
于 2013-03-26T12:39:24.377 に答える