博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[预打印]使用vbs给PPT(包括公式)去背景
阅读量:5331 次
发布时间:2019-06-14

本文共 2159 字,大约阅读时间需要 7 分钟。

放弃使用,几篇文章搬运过来

在 视图—>宏 内新建宏

'终极版Sub ReColor()    Dim sld As Slide    Dim sh As Shape    For Each sld In ActivePresentation.Slides        For Each sh In sld.Shapes            Call ReColorSH(sh)        Next    Next    ActivePresentation.ExtraColors.Add RGB(Red:=255, Green:=255, Blue:=255)    If ActivePresentation.HasTitleMaster Then        With ActivePresentation.TitleMaster.Background            .Fill.Visible = msoTrue            .Fill.ForeColor.RGB = RGB(255, 255, 255)            .Fill.Transparency = 0#            .Fill.Solid        End With    End If    With ActivePresentation.SlideMaster.Background        .Fill.Visible = msoTrue        .Fill.ForeColor.RGB = RGB(255, 255, 255)        .Fill.Transparency = 0#        .Fill.Solid    End With    With ActivePresentation.Slides.Range        .FollowMasterBackground = msoTrue        .DisplayMasterShapes = msoFalse    End WithEnd Sub  Function ReColorSH(sh As Shape)    Dim ssh As Shape    If sh.Type = msoGroup Then ' when the shape itself is a group        For Each ssh In sh.GroupItems        Call ReColorSH(ssh)  ' the recursion        Next        '改变公式中文字的颜色为黑色,不知如何设置为其他颜色        ElseIf sh.Type = msoEmbeddedOLEObject Then ' recolor the equation   If Left(sh.OLEFormat.ProgID, 8) = "Equation" Then                sh.PictureFormat.ColorType = msoPictureBlackAndWhite                sh.PictureFormat.Brightness = 0                sh.PictureFormat.Contrast = 1                'sh.Fill.Visible = msoFalse   End If        '改变文本框中文字的颜色,可自己设定        ElseIf sh.HasTextFrame Then            ' /* 当前幻灯片中的当前形状包含文本. */            If sh.TextFrame.HasText Then                ' 引用文本框架中的文本.                Set trng = sh.TextFrame.TextRange                ' /* 遍历文本框架中的每一个字符. */                For i = 1 To trng.Characters.Count                    ' 这里请自行修改为原来的颜色值 (白色).                    'If trng.Characters(i).Font.Color = vbWhite Then                        ' 这里请自行修改为要替换的颜色值 (黑色).                        trng.Characters(i).Font.Color = vbBlack                    'End If                Next            End If    End IfEnd Function

命名为Recolor后运行,即可将整个PPT全变成黑白,方便打印

转载于:https://www.cnblogs.com/yaoz/p/6899354.html

你可能感兴趣的文章
Asp.net中IsPostBack的实现原理
查看>>
微信小程序 - 配置普通二维码跳小程序
查看>>
es5~es6
查看>>
mongoDB - 安装
查看>>
Python学习1,Python的六大数据类型
查看>>
JavaEE
查看>>
学习MFC创建界面
查看>>
Building QGIS from source - step by step (开发文档翻译1)
查看>>
(转)AIX ODM 简介
查看>>
poj 1191 棋盘分割 (dp)
查看>>
HDU 4069 Squiggly Sudoku(DLX)(The 36th ACM/ICPC Asia Regional Fuzhou Site —— Online Contest)...
查看>>
RequestDispatcher的request方法和include方法有什么不同
查看>>
20189217 2018-2019-2 《密码与安全新技术专题》第11周作业
查看>>
1016. 部分A+B (15)
查看>>
linux用户和组管理,/etc/passwd 、/etc/shadow和/etc/group --学习
查看>>
struts2学习之何为action以及Action 类,如何访问WEB资源
查看>>
局部加权回归、欠拟合、过拟合(Locally Weighted Linear Regression、Underfitting、Overfitting)...
查看>>
【转】Cygwin访问Windows驱动器
查看>>
C/C++函数参数读取顺序
查看>>
SQL Server-基础-经典SQL语句
查看>>