Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 维护从Excel到Powerpoint的字体格式_Vba_Excel_Powerpoint - Fatal编程技术网

Vba 维护从Excel到Powerpoint的字体格式

Vba 维护从Excel到Powerpoint的字体格式,vba,excel,powerpoint,Vba,Excel,Powerpoint,我有一个VBA宏,可以将Excel中的图表粘贴到PowerPoint中,这很有效 我已调整宏,将同一工作表中某些单元格的单元格内容复制到PowerPoint中。尽管在宏复制之前,将Excel中的字体大小设置为与PowerPoint模板中的相同(两者都是40点),但在宏运行之前,字体粘贴到18点,而不是Excel中设置的40点 处理所有这些问题的代码如下所示: 'Opens a new PowerPoint presentation based on template and pastes dat

我有一个VBA宏,可以将Excel中的图表粘贴到PowerPoint中,这很有效

我已调整宏,将同一工作表中某些单元格的单元格内容复制到PowerPoint中。尽管在宏复制之前,将Excel中的字体大小设置为与PowerPoint模板中的相同(两者都是40点),但在宏运行之前,字体粘贴到18点,而不是Excel中设置的40点

处理所有这些问题的代码如下所示:

'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)
科林

复制后是否要更改字体大小?可能是自动链接/更新的

如果您可以使用粘贴选项之一手动复制,我建议您使用以下文章中引用的
ExecuteMso
命令来更准确地模拟您正在做的事情:

科林

复制后是否要更改字体大小?可能是自动链接/更新的

如果您可以使用粘贴选项之一手动复制,我建议您使用以下文章中引用的
ExecuteMso
命令来更准确地模拟您正在做的事情:


作为图像/图片粘贴怎么样?是的,我很乐意这样做,但首先,它包括两个单元格之间的线分隔,尽管没有指定内部边框;其次,我希望在复制的文本上有阴影-如果我可以从图像粘贴中获得阴影,我很乐意这样做!在粘贴XLws.Range(“Q36:R36”)中的数据之前,是否需要将PPSlide设置为幻灯片13?粘贴为图像/图片如何?是的,我很乐意这样做,但首先,它包括两个单元格之间的线分隔,尽管没有指定内部边框,其次,我希望在我复制的文本上有一个阴影-如果我能从图像粘贴中得到阴影,我很乐意这样做!在粘贴XLws.Range(“Q36:R36”)中的数据之前,是否需要将PPSlide设置为幻灯片13?