PPT自动载入图片并矩阵分布
2024-08-31 19:34:41
最近有学生问到,能不能快速的向PPT一个页面里插入成百张图片,并让它们按统一大小的矩形排布到页面上。我写了以下代码可以在第1页中按照指定横向和纵向矩形数目,填充指定路径下的图片。
Sub LoadPicToShape()
Dim mPageWidth As Double, mPageHeight As Double
Dim X_Count As Integer, Y_Count As Integer
Dim mShapeWidth As Double, mShapeHeight As Double
Dim mShape As Shape
Dim mPicPath As String, mPicName As String '清除所有第1页上的所有形状 Do Until ActivePresentation.Slides().Shapes.Count =
ActivePresentation.Slides().Shapes().Delete
Loop mPageWidth = ActivePresentation.PageSetup.SlideWidth '获取页面宽度
mPageHeight = ActivePresentation.PageSetup.SlideHeight '获取页面高度 '这2个参数可以自己调整
X_Count = : Y_Count = 'X方向图片数量,Y方向图片数量
mShapeWidth = mPageWidth / X_Count: mShapeHeight = mPageHeight / Y_Count '图片形状的宽度和高度 '指定图片所在文件夹路径,并开始获取第1张jpg图片名称
mPicPath = "E:\Office培训\素材\图片"
mPicName = Dir(mPicPath & "\*.jpg")
If mPicName = "" Then Exit Sub '以下首先生成矩形形状,然后填充图片到形状
For j = To Y_Count
For i = To X_Count
Set mShape = ActivePresentation.Slides().Shapes.AddShape(msoShapeRectangle, _
(i - ) * mShapeWidth, (j - ) * mShapeHeight, mShapeWidth, mShapeHeight)
mShape.Fill.UserPicture mPicPath & "\" & mPicName
mPicName = Dir
If mPicName = "" Then mPicName = Dir(mPicPath & "\*.jpg") '图片总数不够数,从头开始重复加载
Next
Next
End Sub
最新文章
- 记从安装centos系统在到使用mono3.2部署MVC过程遇到的问题
- quartz 线程问题
- Makefile总述②文件命名、包含其他文件makefile、变量、重建重载、解析
- CSS中a标签样式的“爱恨”原则
- JavaScript之模拟评星打分
- Ubuntu系统如何修改主机名
- 201521123048《Java程序设计》第6周学习总结
- dedecms注入漏洞
- PAT 1004 To Fill or Not to Fill (25)
- springMvc配置xml使ResponseBody返回Json
- BZOJ1000-1099板刷计划+一句话题解 73/100
- 守护进程(Daemon)
- Spring Boot+Spring Security:获取用户信息和session并发控制
- redis pipline 和 事务
- HNOI2014做题笔记
- 怎么把html页面中共用的底部代码做成共享模块
- Promise笔记
- 某软件大赛C#版考题整理——【编程题】
- mysql允许远程登录
- the django travel(two)分页