如何通过VBA成批修改PPT文件中数学公式的颜色?

chulc 2008-03-05 10:26:57
PowerPoint文档中有许多数学公式(MathType输入),原来是黑色的,因为放映时蓝底白字比较醒目,那么如何通过VBA将所有公式的颜色改成白色?手工修改相当费时!先谢谢各位了!
...全文
1680 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
woxuan 2010-04-18
  • 打赏
  • 举报
回复
chulc 你好,能不能说说你是怎样解决的
chulc 2008-03-10
  • 打赏
  • 举报
回复
应该没错,您可以自己建一张幻灯片,添加公式,再用脚本文件查看。此问题我已经通过VBA解决了,尽管如此,还是要真诚地感谢您对此问题的关注!!
homesos 2008-03-09
  • 打赏
  • 举报
回复
一个PPT文件中,包含多种多个文件件,要打开该页的文件,是不是打开错了,对的话,PPT该页内容会在这种代码中找到的。
chulc 2008-03-08
  • 打赏
  • 举报
回复
我照您的方法打开了脚本文件,但却找不到有关描述公式颜色的语句!下面是一张幻灯片的脚本文件(部分),幻灯片上有一个标题,三个公式,其中两个为红色字体,一个为白色字体,要将两红色改为白色,脚本上该修改何处呢?

......
<body lang=ZH-CN style='margin:0px;background-color:white' onresize="_RSW()"
onload="LoadSld()">

<div id=SlideObj class=sld style='position:absolute;top:0px;left:0px;
width:554px;height:415px;font-size:16px;background-color:#333399;clip:rect(0%, 101%, 101%, 0%);
visibility:hidden'><p:slide coordsize="720,540"
colors="#ffffff,#000000,#808080,#000000,#bbe0e3,#333399,#009999,#99cc00"
masterhref="master03.xml">
<p:shaperange href="master03.xml#_x0000_s1025"/><![if !ppt]><p:shaperange
href="master03.xml#_x0000_s1028"/><p:shaperange
href="master03.xml#_x0000_s1029"/><![endif]><p:shaperange
href="master03.xml#_x0000_m1026"/><v:shape id="_x0000_s2050" type="#_x0000_m1026"
style='position:absolute;left:42.5pt;top:77.25pt;width:612pt;height:115.75pt'>
<v:fill o:detectmouseclick="f"/>
<v:stroke o:forcedash="f"/>
<o:lock v:ext="edit" text="f"/>
<p:placeholder type="centerTitle"/></v:shape>
<div v:shape="_x0000_s2050" class=CT style='position:absolute;top:21.44%;
left:6.85%;width:83.21%;height:8.43%'><span lang=ZH-CN style='font-family:
宋体;mso-fareast-font-family:宋体;mso-ansi-language:EN-US'>概率统计</span></div>
<v:shapetype id="_x0000_m2054" coordsize="21600,21600" o:spt="100"
o:preferrelative="t" adj="0,,0" path="m@4@5l@4@11@9@11@9@5xe" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="prod @0 21600 pixelWidth"/>
<v:f eqn="prod @0 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @0 1 2"/>
<v:f eqn="prod @0 21600 pixelWidth"/>
<v:f eqn="sum @0 21600 0"/>
<v:f eqn="prod @0 21600 pixelHeight"/>
<v:f eqn="sum @0 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><![if !ppt]>
<div style='visibility:hidden'><![endif]><![if !vml]><img border=0
v:shapes="_x0000_m2054" src="slide0001_image001.gif" style='position:absolute;
top:0%;left:0%;width:17.68%;height:23.61%'><![endif]><![if !ppt]></div>
<![endif]><v:shape id="_x0000_s2052" type="#_x0000_m2054" style='position:absolute;
left:252.25pt;top:208pt;width:126.125pt;height:130.375pt' o:preferrelative="t"
filled="f">
<v:fill opacity="1" o:opacity2="1" recolor="f" rotate="f" type="solid"/>
<v:imagedata src="slide0001_image002.wmz" o:title=""/>
</v:shape><o:OLEObject Type="Embed" ProgID="Equation.DSMT4"
ShapeID="_x0000_s2052" DrawAspect="Content" ObjectID="1">
<p:oleclientdata subtype="equation" menuname="Equation"
clipboardname="MathType 5.0 Equation"/></o:OLEObject>
<![if !vml]><img border=0 v:shapes="_x0000_s2052" src="slide0001_image003.gif"
style='position:absolute;top:38.55%;left:35.01%;width:17.5%;height:24.09%'><![endif]><v:shape
id="_x0000_s2053" type="#_x0000_m2054" style='position:absolute;left:439.375pt;
top:208pt;width:122pt;height:125.625pt' o:spt="75" o:preferrelative="t"
path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:fill opacity="1" o:opacity2="1" recolor="f" rotate="f" type="solid"/>
<v:stroke joinstyle="miter"/>
<v:imagedata src="slide0001_image004.wmz" o:title=""/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shape><o:OLEObject Type="Embed" ProgID="Equation.DSMT4"
ShapeID="_x0000_s2053" DrawAspect="Content" ObjectID="8">
<p:oleclientdata subtype="equation" menuname="Equation"
clipboardname="MathType 5.0 Equation"/></o:OLEObject>
<![if !vml]><img border=0 v:shapes="_x0000_s2053" src="slide0001_image005.gif"
style='position:absolute;top:38.55%;left:61.01%;width:16.96%;height:23.37%'><![endif]><v:shapetype
id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="_x0000_s2055" type="#_x0000_t75" style='position:absolute;
left:42.5pt;top:247.375pt;width:136pt;height:74.125pt'>
<v:imagedata src="slide0001_image006.wmz" o:title=""/>
</v:shape><o:OLEObject Type="Embed" ProgID="Equation.DSMT4"
ShapeID="_x0000_s2055" DrawAspect="Content" ObjectID="9">
<p:oleclientdata subtype="equation" menuname="Equation"
clipboardname="MathType 5.0 Equation"/></o:OLEObject>
<![if !vml]><img border=0 v:shapes="_x0000_s2055" src="slide0001_image007.gif"
style='position:absolute;top:45.78%;left:5.95%;width:18.95%;height:13.73%'><![endif]></p:slide></div>

</body>

......
homesos 2008-03-06
  • 打赏
  • 举报
回复
用Microsoft 脚本编辑器很方便的

Microsoft Script Editor

打开PPT,修改格式很快速的,基本上就是拷贝 粘贴 粘贴 ……
homesos 2008-03-06
  • 打赏
  • 举报
回复
用Microsoft Script Editor 打PPT打开

可以看到PPT的内部属性的文件及PPT本身的结构,把数学公式处提字串COPY(公式处可能是这样格式的字串:<font sdfsd>公式</font>),然后用替换功能把它替换成你想要的格式及内容,一次全部替换即可完成。
chulc 2008-03-06
  • 打赏
  • 举报
回复
谢谢指点,只是本人愚钝,能否说得再详细一些?

5,172

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧