新的堆栈溢出发布,所以请指导我。 :)
我需要创建一个程序,将某些值从excel粘贴到powerpoint并对其进行格式化。
到目前为止我编写的VBA代码能够生成从Excel到PowerPoint的单元格值。但是,字体颜色和字体类型将更改时,Powerpoint中的字体大小不会更改。我不确定为什么会这样,但我想到这可能是由于某些powerpoint设置或关于我不熟悉的VBA的事情。
请协助!
代码如下:
Dim title1 As Excel.range
Dim App As PowerPoint.Application
Dim Ptn As PowerPoint.Presentation
Dim mySlide As PowerPoint.Slide
Dim myShape As PowerPoint.Shape
Set title1 = ThisWorkbook.Sheets("Sheet4").range("C1:C1")
'Set Font Properties
title1.Font.Size = 28
title1.Font.Color = RGB(0, 112, 192)
title1.Font.Name = "Century Gothic"
'Create Slide 1
Set mySlide = Ptn.Slides.Add(1, ppLayoutBlank)
'Copy Title1
title1.Copy
'Paste to PowerPoint and position
mySlide.Shapes.PasteSpecial DataType:=ppPasteDefault
Set myShape = mySlide.Shapes(mySlide.Shapes.Count)
'Set position
myShape.Left = 35
myShape.Top = 200
答案 0 :(得分:0)
如果您想专门粘贴excel字段作为该幻灯片的标题,请尝试:
mySlide.Shapes.AddTitle.TextFrame.TextRange.Text = title1
编辑:您可以检查幻灯片是否已有可以使用的标题
If Not mySlide.Shapes.HasTitle Then
mySlide.Shapes.AddTitle.TextFrame.TextRange.Text = title1
Else
mySlide.Shapes.Title.TextFrame.TextRange.Text = title1
End If
AddTitle还具有各种属性,用于设置字体,格式,大小,颜色等。 请参阅:Adding a Powerpoint Title slide using Excel VBA
答案 1 :(得分:0)
我的预感是您需要添加Paste:=xlPasteAllUsingSourceTheme
以粘贴特殊内容。你能试试吗?
'Paste to PowerPoint and position
mySlide.Shapes.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, DataType:=ppPasteDefault