20161226xlVBA演示文稿替换文字另存pdf
Const ModelText As String = "机构名称"
Const ModelName As String = "测试文件.pptx" Sub NextSeven_CodeFrame()
'应用程序设置
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
'错误处理
On Error GoTo ErrHandler
'计时器
Dim StartTime, UsedTime As Variant
StartTime = VBA.Timer '变量声明
Dim Wb As Workbook
Dim Sht As Worksheet
Dim Rng As Range
Dim Arr As Variant
Dim EndRow As Long Dim pApp As Object
Dim Pre As Object
'Dim pApp As PowerPoint.Application
'Dim pre As PowerPoint.Presentation Dim FindStr As String
Dim ReplaceStr As String
Dim FilePath As String
Dim FolderPath As String
Dim tmp As String Dim FileName As String
FileName = Left(ModelName, InStrRev(ModelName, ".") - 1)
'实例化对象
Set Wb = Application.ThisWorkbook
Set Sht = Wb.Worksheets(1)
FolderPath = Wb.Path & "\"
'Set pApp = New PowerPoint.Application
Set pApp = CreateObject("PowerPoint.Application")
Debug.Print FolderPath & ModelName
Set Pre = pApp.Presentations.Open(FolderPath & ModelName)
With Sht
EndRow = .Cells(.Cells.Rows.Count, 1).End(xlUp).Row
Set Rng = .Range("A1:Z" & EndRow)
Arr = Rng.Value
For i = LBound(Arr) To UBound(Arr)
If i = 1 Then
FindStr = ModelText
ReplaceStr = Arr(i, 1)
FilePath = FolderPath & FileName & "_予" & Arr(i, 1) & ".pdf"
ReplaceAndPublish Pre, FilePath, FindStr, ReplaceStr
Else
FindStr = Arr(i - 1, 1)
ReplaceStr = Arr(i, 1)
FilePath = FolderPath & FileName & "_予" & Arr(i, 1) & ".pdf"
ReplaceAndPublish Pre, FilePath, FindStr, ReplaceStr
End If
Next i
End With
'运行耗时
UsedTime = VBA.Timer - StartTime
'MsgBox "本次运行耗时:" & Format(UsedTime, "0.0000000秒")
ErrorExit: '错误处理结束,开始环境清理
Pre.Close
Set Pre = Nothing
pApp.Quit
Set pApp = Nothing
Set Wb = Nothing
Set Sht = Nothing
Set Rng = Nothing Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.Calculation = xlCalculationAutomatic
Exit Sub
ErrHandler:
If Err.Number <> 0 Then
MsgBox Err.Description & "!", vbCritical, "错误提示!"
'Debug.Print Err.Description
Err.Clear
Resume ErrorExit
End If
End Sub
Private Sub ReplaceAndPublish(ByVal Pre As Object, ByVal FilePath As String, ByVal FindText As String, ByVal ReplaceText As String)
Dim sld As PowerPoint.Slide
Dim shp As PowerPoint.Shape
Dim Txt As String
For Each sld In Pre.Slides
For Each shp In sld.Shapes
If shp.HasTextFrame = msoTrue Then
If shp.TextFrame.HasText Then
Txt = shp.TextFrame.TextRange.Text
If InStr(1, Txt, FindText) > 0 Then
shp.TextFrame.TextRange.Text = Replace(Txt, FindText, ReplaceText)
Exit For
End If
End If
End If
Next
Next
Pre.SaveAs FilePath, ppSaveAsPDF
End Sub
20161226xlVBA演示文稿替换文字另存pdf的更多相关文章
- pdf 移除密码 去除水印 批量去除水印 编辑文字 批量替换文字
1.pdf除密码: http://pan.baidu.com/share/link?shareid=308194398&uk=370045712 2.去除水印:http://wenku.ba ...
- 怎样做出优秀的扁平化设计风格 PPT 或 Keynote 幻灯片演示文稿?(装)
不知道你有没有想过,为什么很人多的扁平化 PPT 是这个样子: 或者是这样: 然而,还有一小撮人的扁平化 PPT 却拥有那么高颜值: 为什么会产生这么大的差距呢?丑逼 PPT 应该如何逆袭成为帅逼呢? ...
- 放映PPT幻灯片演示文稿如何让演讲者备注不投影到屏幕上(转载)
ps files/ps.rar 放映PPT幻灯片演示文稿如何让演讲者备注不投影到屏幕上 如题,在PPT幻灯片的演示文稿中加入演讲者备注(使用PPT讲座时苦于有时会忘记一些要讲的数字,文字等),但是在 ...
- Hyhyhy – 专业的 HTML5 演示文稿工具
Hyhyhy 是创建好看的 HTML5 演示文档的工具.它具备很多的特点:支持 Markdown,嵌套幻灯片,数学排版,兼容性,语法高亮,使用 Javascript API ,方便的骨架.它支持 Fi ...
- slid.es – 创建在线幻灯片和演示文稿的最佳途径
slid.es 提供了一种创建在线幻灯片和演示文稿的简单方法,让你通过几个简单的步骤制作效果精美的在线演示文稿.基于 HTML5 和 CSS3 实现,在现代浏览器中效果最佳. 您可能感兴趣的相关文章 ...
- VBA表格单元格替换文字
Sub 表格单元格替换文字() If MsgBox("确定要替换单元格的文字吗?", vbYesNo + vbQuestion) = vbYes Then To ActiveDoc ...
- Reveal.js一个用来做WEB演示文稿的框架
reveal.js是一个能够帮助我们很轻易地使用HTML来创建漂亮的演示效果,也就是我们常见的PPT幻灯片.reveal.js不依赖其他任何javascript库,是一个独立的javascript插件 ...
- 解决方案:ppt打不开,显示发现文件中的内容有问题。可尝试修复此演示文稿
ppt打不开,显示发现文件中的内容有问题.可尝试修复此演示文稿 故障截图如下: 解决方法: 主要是因为文件是网络下载的,office自动锁定了文件(默认不可编辑).在文件上右键-属性-解除锁定(最下面 ...
- Liferay平台开发使用详细PPT演示文稿
主要章节: 概述 功能和使用 开发扩展 安全.认证 高可用 Demo 独立流程演示工程: Liferay集成Activiti开发工程: PPT演示文稿下载 Demo程序分2部分: 独立流程演示工程:h ...
随机推荐
- OS X 下动态库的引用
foo.c #include <stdio.h> void foo(void) { printf("foo.\n"); } main.c #include <st ...
- MyBatis学习笔记(六)——调用存储过程
转自孤傲苍狼的博客:http://www.cnblogs.com/xdp-gacl/p/4270352.html 一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据 ...
- linux常用命令:route 命令
Linux系统的route 命令用于显示和操作IP路由表(show / manipulate the IP routing table).要实现两个不同的子网之间的通信,需 要一台连接两个网络的路由器 ...
- linux常用命令:iostat 命令
Linux系统中的 iostat 是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会 汇报出CPU使用情况 ...
- mysql jdbc性能优化之mybatis/callablestatement调用存储过程mysql jdbc产生不必要的元数据查询(已解决,cpu负载减少20%)
INFO | jvm 1 | 2016/08/25 15:17:01 | 16-08-25 15:17:01 DEBUG pool-1-thread-371dao.ITaskDao.callProce ...
- 02: Redis缓存系统
目录: 1.1 在centos6.5中安装Redis 1.2 Redis的简介及两种基本操作 1.3 Redis对string操作(第一类) 1.4 redis对Hash操作,字典格式(第二类) 1. ...
- ssh服务的最佳实践
工作中ssh的最佳实践: 不要使用默认端口 禁止使用protocol version 1 (默认centos6/7已经禁止使用第一版了,但是centos5可能还有在用第一版本) 限制可登陆用户 设定空 ...
- Python3基础 os.path.getsize 获得文件的大小
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- Python3基础 file for+list 读取txt文本 并 一行一行的输出(低效率)
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- 地宫取宝|2014年蓝桥杯B组题解析第九题-fishers
地宫取宝 X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口在左上角,出口在右下角. 小明被带到地宫的入口,国王要求他只能向右或向下行走. 走 ...