• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Grafiek vanuit excel in word plakken

Status
Niet open voor verdere reacties.

Minkoeze

Gebruiker
Lid geworden
5 okt 2005
Berichten
26
Hallo allemaal,

Ik wil graag mbv VBA een grafiek vanuit excel op een bepaalde plek in een openstaand word document plakken.

Hoe kan ik dit het beste doen?
 
Beste,

Ben geen VBA-expert, maar doe eens het volgende:
Open een Excelbestand met daarin een grafiek.
Open je Word-bestand. Open dan de macro-recorder: Extra > Macro > Macro opnemen.
Ga dan naar Excel, kopieer de grafiek en plak 'm weer in Word.
Sluit de macrorecorder af en klik, terwijl je in Word zit, op Alt+F11. Links in de projectverkenner ga je naar Modules > Module1 en je bekijkt de code rechts.

Als je die hier plakt kunnen anderen er mee aan de slag.

Richard
 
Beste,

Ben geen VBA-expert, maar doe eens het volgende:
Open een Excelbestand met daarin een grafiek.
Open je Word-bestand. Open dan de macro-recorder: Extra > Macro > Macro opnemen.
Ga dan naar Excel, kopieer de grafiek en plak 'm weer in Word.
Sluit de macrorecorder af en klik, terwijl je in Word zit, op Alt+F11. Links in de projectverkenner ga je naar Modules > Module1 en je bekijkt de code rechts.

Als je die hier plakt kunnen anderen er mee aan de slag.

Richard

Dat is het probleem juist, de recorder neemt alleen het kopieren van de grafiek op. Het plakken in word registreert hij niet. Dus ik kan de code ook niet aanpassen :-(
 
Dat is het probleem juist, de recorder neemt alleen het kopieren van de grafiek op. Het plakken in word registreert hij niet. Dus ik kan de code ook niet aanpassen :-(

Selection.PasteAndFormat (wdChartPicture)

Ron
 
Selection.PasteAndFormat (wdChartPicture)

Ron


Bedankt voor je hulp, ik had al iets gevonden. Alleen deze code loopt telkens vast.

Misschien een idee wat er fout gaat??


Sub Grafiek()

Dim y As Word.Application
Set y = CreateObject("Word.Application")

ActiveChart.ChartArea.Copy

With y
.Documents.Open ("H:\Kladblok\Johnm\test.doc")
.Visible = True
.Selection.Paste
.ActiveDocument.SaveAs Filename:=("H:\Kladblok\Johnm\test.doc")

End With

End Sub
 
Probeer onderstaande eens
Code:
Sub XLChartToDoc()
    Dim objWordApp As Object
    Dim objWordDoc As Object
    If ActiveChart Is Nothing Then
            MsgBox "Selecteer een grafiek en probeer opnieuw.", vbExclamation, _
            "Geen grafiek geselecteerd"
    Else
        Set objWordApp = CreateObject("Word.application")
        objWordApp.Visible = True
        Set objWordDoc = objWordApp.Documents.Open("H:\Kladblok\Johnm\test.doc")
    End If
    On Error Resume Next
    ActiveChart.CopyPicture Appearance:=xlScreen, Size:=xlScreen, _
    Format:=xlPicture
        ' ga naar bladwijzer
    'objWordDoc.Bookmarks("Toevoegen").Range.Select
    With objWordApp
        .Selection.PasteSpecial Link:=False, _
            DataType:=wdPasteMetafilePicture, _
            Placement:=wdInLine, DisplayAsIcon:=False
        .Selection.ParagraphFormat.Alignment = _
        wdAlignParagraphCenter
    End With
    
    objWordDoc.Save
    objWordDoc.Close
    objWordApp.Quit
     
    Set objWordDoc = Nothing
    Set objWordApp = Nothing
End Sub

Mvg

Rudi
 
Probeer onderstaande eens
Code:
Sub XLChartToDoc()
    Dim objWordApp As Object
    Dim objWordDoc As Object
    If ActiveChart Is Nothing Then
            MsgBox "Selecteer een grafiek en probeer opnieuw.", vbExclamation, _
            "Geen grafiek geselecteerd"
    Else
        Set objWordApp = CreateObject("Word.application")
        objWordApp.Visible = True
        Set objWordDoc = objWordApp.Documents.Open("H:\Kladblok\Johnm\test.doc")
    End If
    On Error Resume Next
    ActiveChart.CopyPicture Appearance:=xlScreen, Size:=xlScreen, _
    Format:=xlPicture
        ' ga naar bladwijzer
    'objWordDoc.Bookmarks("Toevoegen").Range.Select
    With objWordApp
        .Selection.PasteSpecial Link:=False, _
            DataType:=wdPasteMetafilePicture, _
            Placement:=wdInLine, DisplayAsIcon:=False
        .Selection.ParagraphFormat.Alignment = _
        wdAlignParagraphCenter
    End With
    
    objWordDoc.Save
    objWordDoc.Close
    objWordApp.Quit
     
    Set objWordDoc = Nothing
    Set objWordApp = Nothing
End Sub

Mvg

Rudi


Hier kom ik een stuk verder mee.
Mijn dank is groot!!!!
 
Wil je de grafiek op een bepaalde plaats, plaats daar dan een bladwijzer en verwijder de apostrophe voor de regel met bookmarks erin en geef tussen de haakjes de naam op die je aan de bladwijzer gegeven hebt. De grafiek wordt dan naar die plaats gekopieërd.

Mvg

Rudi
 
Wil je de grafiek op een bepaalde plaats, plaats daar dan een bladwijzer en verwijder de apostrophe voor de regel met bookmarks erin en geef tussen de haakjes de naam op die je aan de bladwijzer gegeven hebt. De grafiek wordt dan naar die plaats gekopieërd.

Mvg

Rudi

Nog een vraagje.
Ik heb dit script ook gebruikt (bedankt daarvoor), maar het enige wat niet werkt dat het geplakt wordt.
Word wordt opgestart ik zie dat het ook gekopieerd is (via plakken) maar het wordt niet geplaatst in Word. Wat kan nog de oorzaak hiervan wezen. Ik gebruik 2003 excel met XP windows.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan