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的更多相关文章

  1. pdf 移除密码 去除水印 批量去除水印 编辑文字 批量替换文字

    1.pdf除密码: http://pan.baidu.com/share/link?shareid=308194398&uk=370045712  2.去除水印:http://wenku.ba ...

  2. 怎样做出优秀的扁平化设计风格 PPT 或 Keynote 幻灯片演示文稿?(装)

    不知道你有没有想过,为什么很人多的扁平化 PPT 是这个样子: 或者是这样: 然而,还有一小撮人的扁平化 PPT 却拥有那么高颜值: 为什么会产生这么大的差距呢?丑逼 PPT 应该如何逆袭成为帅逼呢? ...

  3. 放映PPT幻灯片演示文稿如何让演讲者备注不投影到屏幕上(转载)

    ps  files/ps.rar 放映PPT幻灯片演示文稿如何让演讲者备注不投影到屏幕上 如题,在PPT幻灯片的演示文稿中加入演讲者备注(使用PPT讲座时苦于有时会忘记一些要讲的数字,文字等),但是在 ...

  4. Hyhyhy – 专业的 HTML5 演示文稿工具

    Hyhyhy 是创建好看的 HTML5 演示文档的工具.它具备很多的特点:支持 Markdown,嵌套幻灯片,数学排版,兼容性,语法高亮,使用 Javascript API ,方便的骨架.它支持 Fi ...

  5. slid.es – 创建在线幻灯片和演示文稿的最佳途径

    slid.es 提供了一种创建在线幻灯片和演示文稿的简单方法,让你通过几个简单的步骤制作效果精美的在线演示文稿.基于 HTML5 和 CSS3 实现,在现代浏览器中效果最佳. 您可能感兴趣的相关文章 ...

  6. VBA表格单元格替换文字

    Sub 表格单元格替换文字() If MsgBox("确定要替换单元格的文字吗?", vbYesNo + vbQuestion) = vbYes Then To ActiveDoc ...

  7. Reveal.js一个用来做WEB演示文稿的框架

    reveal.js是一个能够帮助我们很轻易地使用HTML来创建漂亮的演示效果,也就是我们常见的PPT幻灯片.reveal.js不依赖其他任何javascript库,是一个独立的javascript插件 ...

  8. 解决方案:ppt打不开,显示发现文件中的内容有问题。可尝试修复此演示文稿

    ppt打不开,显示发现文件中的内容有问题.可尝试修复此演示文稿 故障截图如下: 解决方法: 主要是因为文件是网络下载的,office自动锁定了文件(默认不可编辑).在文件上右键-属性-解除锁定(最下面 ...

  9. Liferay平台开发使用详细PPT演示文稿

    主要章节: 概述 功能和使用 开发扩展 安全.认证 高可用 Demo 独立流程演示工程: Liferay集成Activiti开发工程: PPT演示文稿下载 Demo程序分2部分: 独立流程演示工程:h ...

随机推荐

  1. Python tricks(3) -- list和dict的遍历和方法

    每个人在使用python的过程中都会遍历list和dict. List遍历 最常用最简单的遍历list的方法 a = ["a", "b", "c&qu ...

  2. 复杂sql语句:按部门统计人数

    复杂的sql语句,按部门统计人数: --按部门统计人数 SELECT o.OUGUID AS OUGUID, o.OUNAME AS OUNAME, IFNULL() AS USERNUM, ) EN ...

  3. python requests 请求的封装

    #encoding=utf-8import requestsimport jsonclass HttpClient(object):    def __init__(self):        pas ...

  4. json-lib-2.4-jdk15.jar所需全部JAR包.rar java jsoup解析开彩网api接口json数据实例

    json-lib-2.4-jdk15.jar所需全部JAR包.rar  java jsoup解析开彩网api接口json数据实例 json-lib-2.4-jdk15.jar所需全部JAR包.rar  ...

  5. python3.4学习笔记(三) idle 清屏扩展插件

    python3.4学习笔记(三) idle 清屏扩展插件python idle 清屏问题的解决,使用python idle都会遇到一个常见而又懊恼的问题——要怎么清屏?在stackoverflow看到 ...

  6. Js基础知识6-JavaScript匿名函数和闭包

    匿名函数 1,把匿名函数赋值给变量 var test = function() { return 'guoyu'; }; alert(test);//test是个函数 alert(test()); 2 ...

  7. [转载]ASP.NET中IsPostBack详解

    1.IsPostBack介绍Page.IsPostBack是一个标志:当前请求是否第一次打开. 调用方法为:Page.IsPostBack或者IsPostBack或者this.IsPostBack或者 ...

  8. SaltStack安装及配置

    1.简介SaltStack是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的puppet和加强版的func.SaltStack基于Python语言实现,结合 ...

  9. Python Web学习笔记之Python多线程和多进程、协程入门

    进程和线程究竟是什么?如何使用进程和线程?什么场景下需要使用进程和线程?协程又是什么?协程和线程的关系和区别有哪些? 程序切换-CPU时间的分配 首先,我们的任何一个程序都需要运行在一个操作系统中,如 ...

  10. P3810 【模板】三维偏序(陌上花开)

    P3810 [模板]三维偏序(陌上花开) cdq分治+树状数组 三维偏序模板题 前两维用cdq分治,第三维用树状数组进行维护 就像用树状数组搞逆序对那样做--->存权值的出现次数 attenti ...