ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 20471|回复: 15

[求助] 如何用VBA将EXCEL数据导入到PPT中

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-5-27 13:05 | 显示全部楼层 |阅读模式
以下代码的问题在哪?老是报错说,说选择对象
Sub 宏1()
Dim pptApp As PowerPoint.Application
Dim pptPresen As PowerPoint.Presentation
Dim pptSlide As PowerPoint.Slide
Dim strTemp As String

On Error GoTo errHandle
strTemp = "C:\Users\z305204\Desktop" & "\演示文稿1.potx"
Set pptApp = New PowerPoint.Application
Set pptPresen = pptApp.Presentations.Add(msoTrue)
pptApp.Visible = True

pptApp.Presentations.Open "C:\Users\z305204\Desktop\" & "演示文稿1.potx"
'pptPresen.ApplyTemplate filename:=strTemp
Set pptSlide = ActivePresentation.Slides.AddSlide(1, ppLayoutAndTitle)
With pptSlide.Shapes.Title.TextFrame.TextRange.Text = Range("B2")
End With
With pptSlide.Shapes.Placeholders(2).TextFrame.TextRange.Text = Range("B3")

End With
Set pptSlide = pptPresen.Slides.AddSlide(1, ppLayoutAndText)
With pptSlide.Shapes.Placeholders(1).TextFrame.TextRange.Text = Range("B4")
End With
With pptSlide.Shapes.Placeholders(2).TextFrame.TextRange.Text = Range("B5")

End With
Set pptSlide = pptPresen.Slides.AddSlide(1, ppLayoutAndText)
With pptSlide.Shapes.Placeholders(1).TextFrame.TextRange.Text = Range("B6")
End With
With pptSlide.Shapes.Placeholders(2).TextFrame.TextRange.Text = Range("B7")

End With
pptPresen.SaveAs filename:="G:\test.pptx"
pptPresen.Close
pptApp.Quit
errExit:

Set pptSlide = Nothing
Set pptPresen = Nothing
Set pptApp = Nothing
Exit Sub
errHandle:
MsgBox Err.Description
Resume errExit
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-5-27 13:10 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-5-27 13:54 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Dim pptApp As PowerPoint.Application
Dim pptPresen As PowerPoint.Presentation
Dim pptSlide As PowerPoint.Slide 这几个先引用了么?

TA的精华主题

TA的得分主题

发表于 2015-5-27 13:57 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
一般个人是建议用PPT里写VBA,去调用EXCEL。

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-6-1 10:53 | 显示全部楼层
wudixin96 发表于 2015-5-27 13:54
Dim pptApp As PowerPoint.Application
Dim pptPresen As PowerPoint.Presentation
Dim pptSlide As Powe ...

引用了,但是老是显示选择对象

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-6-5 13:46 | 显示全部楼层
wudixin96 发表于 2015-5-27 13:57
一般个人是建议用PPT里写VBA,去调用EXCEL。

谢谢,PPT上写VBA确实更容易,已完成数据导入的代码。请问,您知道怎么复制幻灯片再粘贴吗?(在PPT vba 里)

TA的精华主题

TA的得分主题

发表于 2015-6-5 14:35 | 显示全部楼层
szzc 发表于 2015-6-5 13:46
谢谢,PPT上写VBA确实更容易,已完成数据导入的代码。请问,您知道怎么复制幻灯片再粘贴吗?(在PPT vba  ...

是复制一页PPT,还是指一页PPT里的内容??

TA的精华主题

TA的得分主题

发表于 2015-6-5 14:43 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. With Application.ActivePresentation
  2.         .Slides(2).Copy    ''''复制第二页PPT
  3.         .Slides.Paste      ''''粘贴
  4.     End With
复制代码


不知道是不是这个意思

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-7-3 13:27 | 显示全部楼层
wudixin96 发表于 2015-6-5 14:35
是复制一页PPT,还是指一页PPT里的内容??

复制一页PPT只是

现在还想问个问题:怎么复制excel的图表到ppt ,用PPT 的VBA ?

TA的精华主题

TA的得分主题

发表于 2015-7-3 13:46 | 显示全部楼层
szzc 发表于 2015-7-3 13:27
复制一页PPT只是

现在还想问个问题:怎么复制excel的图表到ppt ,用PPT 的VBA ?

图表有一个copy方法的,版本高一点的,还是有copypicture方法。

可以把图片复制到剪贴板,再回到PPT,调用PASTE方法就行 了。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-27 02:03 , Processed in 0.036116 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表