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

  

时间: 2024-12-02 10:13:59

20161226xlVBA演示文稿替换文字另存pdf的相关文章

pdf如何转换成ppt演示文稿进行放映

工作.学习都离不开ppt格式文件,在课堂上可以看到很多ppt演示课件,在工作会议上可以看见很多的ppt计划书.但是这些ppt中的内容却不一定全都是我们做的,专业资料使需要在网络下载pdf文件,然后在转换成ppt格式放映的.可是pdf如何转换成ppt演示文稿进行放映呢?      Pdf转换成ppt方法(Pdf和office文档(word.ppt.excel等)之间的转换或是相互转换都可以使用同样的方法,我们在软件左侧可以看见不同的格式转换功能,只要选择相应的功能即可):      1.把迅捷pd

办公的PDF文件如何进行在线替换文字

办公的PDF文件如何进行在线替换文字,PDF文件如今是很火热的办公格式,有的时候在办公中需要将PDF文件里面的内容进行修改,但是又不是大幅度的更改,只需要替换某段文字就可以了,这样的话是如何进行操作的呢.步骤一:打开电脑进入浏览器内,搜索"迅捷pdf在线转换器"找到相对应的页面,并点进去.步骤二:进入到在线页面后,可以看到首页有很多关于PDF转换的功能,而我们选取导航栏上的文档处理,选中后会弹出下拉框,在下拉框内选取"PDF替换文字". 步骤三:进入转换的页面后,点

图片替换文字

提要:为什么要使用图片替换文字 文字的表现力差,但是便于网页获取信息,这里说的图片替换文字,是指文字还是存在于dom树中,但是显示的时候用图片来显示. 会遇到得问题: css on/images off 我的理解:当图片没有加载到,页面会什么都不显示 替换方法: 1.原始的方法:使用span元素,设置display为none 代码: <h3 id="header1"> <span>image replacement</span> </h3>

PowerPoint演示文稿中设置自定义动画

动态的东西,总是给人活灵活现的感觉.在制作演示文稿时,除了会设置幻灯片的切换方式外,还通常会为幻灯片中的某些内容(如图片.文字等)设置动画效果,使幻灯片欣赏起来不至于太呆板. 1.制作进入动画效果 选中需要设置动画效果的对象,如文本.图片等.单击"动画"选项卡,单击"无动画"后的向下箭头,选择一种动画效果即可,如图1所示. 2.制作强调动画效果 细心的读者会发现,在前一种动画设置中,PowerPoint只提供了对象进入时的动画效果,如要设置退出.强调等效果该怎么办呢

创媒Prezi.Pro.v6.16.2.0 PPT演示文稿制作软件

创媒Prezi.Pro.v6.16.2.0 PPT演示文稿制作软件 Prezi Pro桌面版是一款类似于PowerPoint的报告制作工具,可代替ppt软件,能够制作出具有动画和缩 放等各种交互效果的报告文件.除了平移和缩放,Prezi还支持图片.视频.PDF等各种媒体素材的嵌入, 可以多人在线编辑,生成的报告既可以在本地观看,也可以上传到服务器或嵌入网页在线查看. Prezi Pro可以让你通过你的故事缩放功能创造迷人的演示文稿.即使离线,没有Wi-Fi. Prezi也能让 您在Mac没有连接

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

怎样做出优秀的扁平化设计风格 PPT 或 Keynote 幻灯片演示文稿? http://www.zhihu.com/question/21274267/answer/62857878

修改LaTeX beamer演示文稿字体

在用LaTeX制作演示文稿的时候,改变字体单单使用 \documentclass{beamer} \usepackage{fontspec} \setmainfont{Ubuntu} 是不够的.这里以将字体改成Ubuntu字体为例,之前还须加入两行代码如下: \documentclass{beamer} \usefonttheme{professionalfonts} % using non standard fonts for beamer \usefonttheme{serif} % def

学习使用LaTex排版文字输出为pdf(1)

学习用latex写我的简历. 我在ubuntu环境下,先下载所需软件,命令百度就可以. 先创建一个a.tex,写上 1 \documentclass{article} 2 \usepackage{CJK} 3 \begin{document} 4 \begin{CJK}{UTF8}{gbsn} 5 真是一个笨蛋! 6 \end{CJK} 7 \end{document} 然后执行pdflatex a.tex 这样就会有pdf输出,直接用evince a.pdf就可以啦. 功能很多很强大 关于输出

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

reveal.js是一个能够帮助我们很轻易地使用HTML来创建漂亮的演示效果,也就是我们常见的PPT幻灯片.reveal.js不依赖其他任何javascript库,是一个独立的javascript插件库.它提供了多种幻灯片过渡效果,是一个非常棒的在线演示库. reveal.js还拥有许多高级特性,完整安装,某些 reveal.js 的功能,像外部的Markdown和演讲注释,需要演示文稿运行在本地的一个web服务器上,因此需要在nodejs环境下运行,安装node.js以及grunt,稍微比较复