Exportera diagram till ett befintligt
Word-dokument

 

I detta tips demonstreras hur vi kan att exportera diagram till befintliga dokument, där vi använder oss av ett bokmärke i Word-dokumentet. Tipset visar också hur vi relativt enkelt kan omvandla ett diagram till en GIF-bild

Glöm inte av att ange en referens till Microsoft Word x.x Object Library.

 

Option Explicit  

Sub Exportera_Diagram_Word()

   '© 2003 Alla rättigheter XL-Dennis

   Dim wbBok As Workbook

   Dim wsBlad As Worksheet

   Dim ctDiagram As ChartObject

   Dim wdApp As Word.Application

   Dim wdDoc As Word.Document

   Dim BMRange As Word.Range

   Dim oShape As Word.InlineShape

 

   Set wbBok = ThisWorkbook

   Set wsBlad = wbBok.Worksheets("Blad1")

 

   With wsBlad

      Set ctDiagram = .ChartObjects("Rapport")

   End With

    Application.ScreenUpdating = False

 

   'Här exporteras diagrammet och sparas som en separat GIF-fil.

   ctDiagram.Chart.Export _

         Filename:=ThisWorkbook.Path & "\Rapport.gif", FilterName:="GIF"

 

   'Skapa en ny instans av MS Word.

   Set wdApp = CreateObject("Word.Application")

 

   'Öppna ett befintlig dokument

   Set wdDoc = wdApp.Documents.Open(ThisWorkbook.Path & "\Dennis.doc")

 

   'Här utgår vi från att vi endast har ett objekt i dokumentet.

   With wdDoc.InlineShapes(1)

      .Select

      .Delete

   End With

 

   'Tilldelar variabeln det aktuella bokmärket i MS Word.

   Set BMRange = wdDoc.Bookmarks("Rapport").Range

 

   With BMRange

      .Select

      'Infogar diagrammet i dokumentet

      .InlineShapes.AddPicture Filename:= _

            ThisWorkbook.Path & "\Rapport.gif", _

            LinkToFile:=False, _

            SaveWithDocument:=True

   End With

 

   'Sparar och stänger det aktiva dokumentet.

   With wdDoc

      .Save

      .Close

   End With

 

   'Stänger instansen av MS Word.

   wdApp.Quit

 

   Set BMRange = Nothing

   Set wdDoc = Nothing

   Set wdApp = Nothing

 

   With Application

      .CutCopyMode = False

      .ScreenUpdating = True

   End With

 

   'Ta bort den skapade GIF-filen.

   Kill ThisWorkbook.Path & "\Rapport.gif"

 

   MsgBox "Rapportdiagram kopierad över till Dennis.doc", vbInformation  

End Sub

 

Så här ser diagrammet ut när det har sparats till GIF-formatet: