2017-02-01 1 views
1

Ich habe ein VBA-Makro, das Diagramme aus Excel in PowerPoint einfügt, und das funktioniert.Verwalten Sie die Schriftformatierung aus Excel in PowerPoint

Ich habe das Makro angepasst, um den Zellinhalt bestimmter Zellen desselben Arbeitsblatts in PowerPoint zu kopieren. Obwohl die Schriftgröße in Excel dieselbe ist wie in der PowerPoint-Vorlage, bevor das Makro kopiert wird (40 Punkte in beiden), wird die Schriftart in 18 statt in 40 eingefügt, die ich vor dem Ausführen des Makros in Excel gesetzt habe .

Der Code, der alle diese Griffe ist wie folgt:

'Opens a new PowerPoint presentation based on template and pastes data into Slide 2 of Powerpoint from Excel 

Dim PPApp As PowerPoint.Application, PPPres As PowerPoint.Presentation, PPSlide As PowerPoint.Slide, PPShape As Object, PPChart As Object 

Dim XLws As Worksheet 

Set XLws = ActiveSheet 
Set PPApp = New PowerPoint.Application 
Set PPPres = PPApp.Presentations.Open("C:\Users\Colin\Dropbox (Edge45)\Edge45 Team Folder\Edge45 Company Documents\Templates\Powerpoint Templates\Edge45 Monthly Report Template Macro.potm", Untitled:=msoTrue) 
PPApp.Visible = True 
Set PPSlide = PPPres.Slides(12) 

XLws.ChartObjects(1).Copy ' or XLws.ChartObjects("Chart 2").Copy 
Set PPChart = PPSlide.Shapes.PasteSpecial(DataType:=ppPasteDefault) 

With PPChart 

.Left = 18 
.Height = 322 
.Top = 121 
.Width = 531 

End With 

'Copies Contents of Cells Q36 and R36 in excel worksheet and pastes as text into slide 13 of presentation 
    XLws.Range("Q36:R36").Copy 
    Set PPChart = PPSlide.Shapes.PasteSpecial(DataType:=ppPasteDefault) 

Set PPSlide = PPPres.Slides(13) 
+0

Was Einfügen als Bild/Bild? – Namkce

+0

Ja, ich würde das gerne machen, aber erstens enthält es eine Zeilenunterteilung zwischen zwei Zellen, obwohl keine interne Grenze angegeben ist, und zweitens hätte ich gerne einen Schlagschatten auf den Text, den ich kopiere - Wenn ich es schaffen kann das aus einer Image-Paste, gerne auch! – Superhans

+0

Sie müssen PPSlide nicht auf Folie 13 einstellen, bevor Sie die Daten aus XLws.Range ("Q36: R36") einfügen? – mooseman

Antwort

0

Colin,

Sie ändern die Schriftgröße zurück, nachdem Sie es kopieren? Vielleicht ist es verlinkt/wird automatisch aktualisiert.

Wenn Sie es manuell kopieren Sie eine der Paste Optionen würde ich den ExecuteMso Befehl im folgenden Beitrag verwiesen vorschlagen, mit genauer zu imitieren, was Sie tun:

How to copy a chart from Excel to PowerPoint?

Verwandte Themen