2013-03-26 5 views
2

Je suis en train de copier une série de graphiques dans une feuille à un document en mots, mais pour une raison quelconque, je reçois seulement la dernière pâte (ce qui signifie le dernier tableau sur la feuille). Je sais que l'itération passe par tous les graphiques, becausewhen Je modofiy le code d'imprimer un seul mot doc pour chaque tableau, il le fait, mais je veux que les tableaux ensemble, donc s'il vous plaît, aidez-moicopier plusieurs graphiques au document Word

Le code:

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 

Répondre

4

S'il vous plaît remplacer début de PasteSpecial ligne dans:

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

Dans votre situation vous collez tableau dans le document entier au lieu du paragraphe actuel.

Encore une suggestion. Vous pouvez utiliser ce qui suit pour insérer un nouveau paragraphe:

WDApp.Selection.MoveEnd wdStory 
WDApp.Selection.Move 
Questions connexes