最近有学生问到,能不能快速的向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

最新文章

  1. 记从安装centos系统在到使用mono3.2部署MVC过程遇到的问题
  2. quartz 线程问题
  3. Makefile总述②文件命名、包含其他文件makefile、变量、重建重载、解析
  4. CSS中a标签样式的“爱恨”原则
  5. JavaScript之模拟评星打分
  6. Ubuntu系统如何修改主机名
  7. 201521123048《Java程序设计》第6周学习总结
  8. dedecms注入漏洞
  9. PAT 1004 To Fill or Not to Fill (25)
  10. springMvc配置xml使ResponseBody返回Json
  11. BZOJ1000-1099板刷计划+一句话题解 73/100
  12. 守护进程(Daemon)
  13. Spring Boot+Spring Security:获取用户信息和session并发控制
  14. redis pipline 和 事务
  15. HNOI2014做题笔记
  16. 怎么把html页面中共用的底部代码做成共享模块
  17. Promise笔记
  18. 某软件大赛C#版考题整理——【编程题】
  19. mysql允许远程登录
  20. the django travel(two)分页

热门文章

  1. 矩阵求逆的几种方法总结(C++)
  2. gridView 单元格绑定不同控件方法
  3. 锋利的jQuery中的事件与动画
  4. 在ZendStudio中增加新的php模板
  5. SQL SERVER的事务日志
  6. mybatis系列笔记(1)---mybatis入门
  7. AR入门系列-03-在unity中将调试好的Vuforia项目导出为APK
  8. PCB行业ERP解决方案
  9. Web平台安装及检测程序
  10. 基于nodejs模拟浏览器post请求爬取json数据