<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
 <channel>
  <title>0度跨越</title>
  <link>http://pptaddins.blogbus.com</link>
  <description><![CDATA[探索PPT前沿技术和VBA程序设计 〖不断追求，永不止步〗]]></description>
  <generator> by blogbus.com </generator>
  <lastBuildDate>Thu, 01 Jan 1970 07:00:00 +0700</lastBuildDate>
  <image>
									<url>http://public.blogbus.com/profile/6/3/7/4617736/avatar_4617736_96.jpg</url>
									<title>0度跨越</title>
									<link>http://pptaddins.blogbus.com</link>
								</image>  <item>
   <title>学习写作一个PPT插件（入门级）</title>
   <description><![CDATA[<p style="text-align: center;"><strong><span style="font-size: 18px;">学习写作一个PPT插件</span></strong></p>
<p><span style="font-size: 14px;">在PowerPoint2003中，当你插入一个Shape（图形）时，PowerPoint会傻乎乎地给Shape命名为诸如：矩形1，矩形2&hellip;&hellip;，看着这一大堆一模一样的孪生兄弟，我们都搞不清楚谁是谁了，即使是微软自己也一定为搞不清楚而苦恼，因此在PowerPoint2007中才提供了一个叫做&ldquo;选择窗格&rdquo;的东西，不过这东西还是有点问题：它不能用拖动的方式来调整对象的叠放顺序。</span></p>
<p><span style="font-size: 14px;">下面我们就分系列来写作一个能在PowerPoint2003中重命名对象、显示/隐藏对象、快速调整对象叠放顺序的插件，希望朋友们能通过这样一个实例的操作快速地入门PPT插件的开发。</span></p>
<p><span style="font-size: 16px;"><strong>一、给所选对象重命名</strong></span></p>
<p><span style="font-size: 14px;">（1）建立一个PPT文档</span></p>
<p><span style="font-size: 14px;">（2）按Alt+F11打开VBA编程环境。</span></p>
<p><span style="font-size: 14px;">（3）选择&ldquo;插入&rdquo;-&gt;&ldquo;类模块&rdquo;，并把这个类模块命名为&ldquo;clsApp&rdquo;</span></p>
<p><span style="font-size: 14px;">（4）在类模块中输入下列代码：</span></p>
<p><span style="font-size: 14px;">Public WithEvents App As Application '声明一个响应事件的PPT程序对象App<br />Public ActiveObj As Object</span></p>
<p><span style="font-size: 14px;">Private Sub App_SlideSelectionChanged(ByVal SldRange As SlideRange) <br />If ActivePresentation.ReadOnly Then Exit Sub '如果演示文稿只读则退出。<br />&nbsp;&nbsp;&nbsp; If SldRange.Count = 1 Then&nbsp;'如果没有选择多张幻灯片，这样就可以对所选择的幻灯片进行重命名<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cbMenu.Controls("Edit").Text = SldRange.Name<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set ActiveObj = SldRange<br />&nbsp;&nbsp;&nbsp; Else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cbMenu.Controls("Edit").Text = ""<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set ActiveObj = Nothing<br />&nbsp;&nbsp;&nbsp; End If<br />End Sub</span></p>
<p><span style="font-size: 14px;">Private Sub App_WindowSelectionChange(ByVal Sel As Selection)<br />If ActivePresentation.ReadOnly Then Exit Sub<br />&nbsp;&nbsp;&nbsp; Select Case Sel.Type '判断选区类型<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case ppSelectionText '选择的是文本框<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cbMenu.Controls("Edit").Text = Sel.ShapeRange.Name<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set ActiveObj = Sel.ShapeRange<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case ppSelectionShapes '选择的是Shape<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Sel.ShapeRange.Count = 1 Then&nbsp;'只能选一个Shape，否则出错<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cbMenu.Controls("Edit").Text = Sel.ShapeRange.Name<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set ActiveObj = Sel.ShapeRange<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cbMenu.Controls("Edit").Text = ""<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set ActiveObj = Nothing<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case ppSelectionNone '什么也没有选<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cbMenu.Controls("Edit").Text = ""<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set ActiveObj = Nothing<br />&nbsp;&nbsp;&nbsp; End Select<br />End Sub</span></p>
<p><span style="font-size: 14px;">（5）插入一个模块并命名为mdApp，输入下列代码：</span></p>
<p><span style="font-size: 14px;">Public clsApp As New clsApp '声明刚才插入的类模块的实例clsapp<br />Public cbMenu As CommandBar '声明一个命令栏对象</span></p>
<p><span style="font-size: 14px;">'下面是两个自动运行的宏，这个宏只在PPA中才有效。<br />Sub Auto_Open()<br />&nbsp;&nbsp;&nbsp; Set clsApp.App = Application '把当前的程序实例与类中的App对象进行关联<br />&nbsp;&nbsp;&nbsp; CreateMenu '建立工具栏<br />End Sub</span></p>
<p><span style="font-size: 14px;">Sub Auto_Close()<br />On Error Resume Next<br />&nbsp;&nbsp;&nbsp; CommandBars("Name Tools").Delete&nbsp;'退出程序时删除建立的命令栏<br />&nbsp;&nbsp;&nbsp; End<br />End Sub</span></p>
<p><span style="font-size: 14px;">'###############################<br />'建立命令栏的子过程<br />'###############################<br />Sub CreateMenu()<br />&nbsp;&nbsp;&nbsp; On Error Resume Next<br />&nbsp;&nbsp;&nbsp; CommandBars("Name Tools").Delete<br />&nbsp;&nbsp;&nbsp; Err.Clear<br />&nbsp;&nbsp;&nbsp; Dim cbCtl As CommandBarControl '声明一个命令栏上的控件</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp; Set cbMenu = CommandBars.Add("Name Tools") '增加一个叫做"Name Tools"的命令栏<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; With cbMenu.Controls.Add(msoControlEdit) '在这个命令栏上增加一个Edit控件<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .Caption = "Edit" <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .OnAction = "Change" '响应动作：Change<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End With<br />&nbsp;&nbsp;&nbsp; cbMenu.Visible = True '让命令栏可见<br />End Sub</span></p>
<p><span style="font-size: 14px;">'#########################################<br />'给所选择的对象重命名的子过程<br />'#########################################<br />Sub Change()<br />&nbsp;&nbsp;&nbsp; On Error Resume Next<br />&nbsp;&nbsp;&nbsp; With cbMenu.Controls("Edit")<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If .Text = "" Then: .Text = clsApp.ActiveObj.Name '把所选择对象的名字显示在文框中<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clsApp.ActiveObj.Name = .Text '输入名字并按下回车给对象重命名<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Select Case Err&nbsp;'捕捉错误信息并进行处理<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case 70<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ActiveWindow.Selection.SlideRange.Shapes(.Text).Select<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case -2147188160<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ActivePresentation.Slides(.Text).Select<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End Select<br />&nbsp;&nbsp;&nbsp; End With<br />End Sub</span></p>
<p><span style="font-size: 14px;">（6）在PowerPoint中选择&ldquo;文件&rdquo;-&gt;&ldquo;另存为&rdquo;，&ldquo;保存类型&rdquo;选择&ldquo;PowerPoint 加载宏（*.ppa）&rdquo;，一个给对象重命名的插件就做好了。</span></p>
<p><span style="font-size: 14px;">（7）测试效果，在PowerPoint中，选择&ldquo;工具&rdquo;-&gt;&ldquo;加载宏&rdquo;，然后浏览至你刚才保存的文件就可以加载我们刚才编写的插件了。</span></p>
<p><span style="font-size: 14px;"><span style="color: #ff00ff;"><span style="font-size: 18px;"><strong>示例插件下载：</strong></span></span><a href="http://www.brsbox.com/filebox/down/fc/b68fb4ee97cce3b08c5255d58b872410">http://www.brsbox.com/filebox/down/fc/b68fb4ee97cce3b08c5255d58b872410</a></span></p>
<p><span style="font-size: 14px;">下一讲，我将改写上面的代码，把它放入到一个窗体中，从而实现命名的批量功能和对象的显示/隐藏功能。</span></p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://pptaddins.blogbus.com/logs/32046474.html">导出嵌入的声音文件(*.WAV)</a> 2008-12-02</div><div><a href="http://pptaddins.blogbus.com/logs/49133399.html">怎样使用VB.net处理PPT2003事件</a> 2009-10-25</div><div><a href="http://pptaddins.blogbus.com/logs/43116216.html">用代码在放映时画图</a> 2009-07-28</div><div><a href="http://pptaddins.blogbus.com/logs/32046868.html">判断动画归属类别</a> 2008-12-02</div><div><a href="/logs/45882319.html">申请加入Shape Editor For PowerPoint2007测试</a> 2009-09-06</div></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://pptaddins.blogbus.com/logs/49143130.html</link>
   <author>pptaddins</author>
   <pubDate>Sun, 25 Oct 2009 19:13:23 +0800</pubDate>
  </item>
  <item>
   <title>设置和获取幻灯片的大小</title>
   <description><![CDATA[<p style="text-align: center;"><span style="font-size: 16px;"><strong>设置和获取幻灯片的大小</strong></span></p>
<p><span style="font-size: 14px;">Sub SetSlideSize()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 这个常数用于把单位设为英寸<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Const PTS As Byte = 72<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; With ActivePresentation.PageSetup<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .SlideWidth = 8 * PTS '8英寸<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .SlideHeight = 6 * PTS<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End With<br />&nbsp;&nbsp; End Sub</span></p>
<p><span style="font-size: 14px;">Sub GetSlideSize()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim Width As Single<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim Height As Single<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; With ActivePresentation.PageSetup<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Width = .SlideWidth<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Height = .SlideHeight<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End With<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MsgBox "幻灯片的宽度是： " &amp; (Width / 72) &amp; "英寸，高度是： " _<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp; (Height / 72) &amp; "英寸。"<br />&nbsp;&nbsp; End Sub</span></p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="/logs/43116216.html">用代码在放映时画图</a> 2009-07-28</div><div><a href="/logs/41358476.html">PowerPoint动画库扩展2.5</a> 2009-06-22</div><div><a href="/logs/35659572.html">解密PowerPoint动画之颜色篇</a> 2009-02-24</div><div><a href="/logs/32046868.html">判断动画归属类别</a> 2008-12-02</div><div><a href="/logs/32046474.html">导出嵌入的声音文件(*.WAV)</a> 2008-12-02</div></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://pptaddins.blogbus.com/logs/49133531.html</link>
   <author>pptaddins</author>
   <pubDate>Sun, 25 Oct 2009 17:38:07 +0800</pubDate>
  </item>
  <item>
   <title>怎样使用VB.net处理PPT2003事件</title>
   <description><![CDATA[<p style="text-align: center;"><span style="font-size: 16px;"><strong>使用VB.net处理PPT2003事件</strong></span></p>
<p><strong><span style="font-size: 14px;">构建一个事件句柄</span></strong></p>
<p><span style="font-size: 14px;">你能够在VB.net中使用下面方法之一构建一个事件句柄。采用哪种方法取决于你打算怎样用一个事件去关联事件句柄。<br />方法1<br />典型的做法是使用WithEvents关键字建立一个事件句柄。 <br />方法2<br />VB.net提供了另一种方式处理事件，你可以使用AddHandler和RemoveHandler语句动态地开始和停止指定事件的句柄。</span></p>
<p><span style="font-size: 14px;">注意： 如果你使用WithEvents关键字构建了事件句柄，那么你可能会接收到一个System.Reflection.TargetInvocationException异常，因此</span></p>
<p><span style="font-size: 14px;">，最好采用AddHandler来构建事件句柄。 </span></p>
<p><strong><span style="font-size: 14px;">建立VB.net自动客户端处理PPT事件</span></strong></p>
<p><span style="font-size: 14px;">下面将分步告诉你怎样使用AddHandler语句处理PPT事件：</span></p>
<p><span style="font-size: 14px;">按下列步骤建立一个VB工程：<br />(1)开始Microsoft Visual Studio .NET . <br />(2)在文件菜单中，单击新建然后单击工程。 <br />(3)在工程类型列表中，单击VB工程，在模版列表中，单击Windows应用程序。 <br />(4)把工程名命名为PowerPointEvents然后单击&ldquo;确定&rdquo;。</span></p>
<p><span style="font-size: 14px;">增加PPT对象库和Graph对象库的引用：<br />（1）在工程菜单中，单击增加引用。 <br />（2）在COM选项中，单击Microsoft PowerPoint 11.0 Object Library 然后选择。. <br />（3）在COM选项中，单击Microsoft Graph 11.0 Object Library 然后选择。 <br />（4）然后单击&ldquo;确定&rdquo;。 <br />（5）双击窗体，打开代码窗口。 <br />（6）在Form1.vb的顶部，增加下面的代码：<br />&nbsp;Imports PowerPoint = Microsoft.Office.Interop.PowerPoint<br />&nbsp;Imports Office = Microsoft.Office.Core<br />&nbsp;Imports Graph = Microsoft.Office.Interop.Graph</span></p>
<p><span style="font-size: 14px;">（7）在视图菜单中，单击Designer（设计）. <br />（8）在视图菜单中，单击&ldquo;工具栏&rdquo;，然后增加一个按钮给Form1. <br />（9）双击Button1.，打开 Button1_Click事件。 <br />（10）在Button1_Click的前面插入下面代码：<br />&nbsp;Dim oApp As PowerPoint.Application<br />&nbsp;Dim oPres As PowerPoint.Presentation</span></p>
<p><span style="font-size: 14px;">（11）把下列代码增加给Button1_Click事件。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Const sTemplate = "C:\Program Files\Microsoft Office\Templates\Presentation Designs\Orbit.pot"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 如果前面 模版无效，请改变上面的内容。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Const sVideo = "C:\WINDOWS\system32\oobe\images\intro.wmv"</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oPresentations As PowerPoint.Presentations<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oSlides As PowerPoint.Slides<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oSlide As PowerPoint.Slide<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oShapes As PowerPoint.Shapes<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oShape As PowerPoint.Shape<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oMovie As PowerPoint.Shape<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oAnimationSettings As PowerPoint.AnimationSettings<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oPlaySettings As PowerPoint.PlaySettings<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oTextFrame As PowerPoint.TextFrame<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oTextRange As PowerPoint.TextRange<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oFont As PowerPoint.Font<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oOLEFormat As PowerPoint.OLEFormat<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oShadow As PowerPoint.ShadowFormat<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oForeColor As PowerPoint.ColorFormat<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oRange As PowerPoint.SlideRange<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oSlideShowTransition As PowerPoint.SlideShowTransition</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '启动PowerPoint然后把其窗口最小化。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oApp = New PowerPoint.Application</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '增加事件句柄<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AddHandler oApp.SlideShowBegin, AddressOf oApp_SlideShowBegin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AddHandler oApp.SlideShowNextSlide, AddressOf oApp_SlideShowNextSlide<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AddHandler oApp.PresentationClose, AddressOf oApp_PresentationClose</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oApp.Visible = True<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oApp.WindowState = PowerPoint.PpWindowState.ppWindowMinimized</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '用指定的模版建立一个新演示文稿。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oPresentations = oApp.Presentations<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oPres = oPresentations.Open(sTemplate, , , True)</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '建立幻灯片1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '增加文本到该幻灯片，设置字体然后插入一个影片。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oSlides = oPres.Slides<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oSlide = oSlides.Add(1, PowerPoint.PpSlideLayout.ppLayoutTitleOnly)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oShapes = oSlide.Shapes<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oShape = oShapes.Item(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oTextFrame = oShape.TextFrame<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oTextRange = oTextFrame.TextRange<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oTextRange.Text = "一个示例演示文稿"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oFont = oTextRange.Font<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oFont.Name = "黑体"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oFont.Size = 48</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oMovie = oShapes.AddMediaObject(sVideo, 150, 150, 500, 350)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oAnimationSettings = oMovie.AnimationSettings<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oPlaySettings = oAnimationSettings.PlaySettings<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oPlaySettings.PlayOnEntry = True<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oPlaySettings.HideWhileNotPlaying = True</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '释放对象<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oPlaySettings)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oAnimationSettings)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oMovie)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oFont)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oTextRange)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oTextFrame)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oShape)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oShapes)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oSlide)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oSlides)</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '建立幻灯片2.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '增加文本到该幻灯片标题并格式化文本，增加一个 chart并把其类型设置为三维柱状样式<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oSlides = oPres.Slides<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oSlide = oSlides.Add(2, PowerPoint.PpSlideLayout.ppLayoutTitleOnly)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oShapes = oSlide.Shapes<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oShape = oShapes.Item(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oTextFrame = oShape.TextFrame<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oTextRange = oTextFrame.TextRange<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oTextRange.Text = "My chart"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oFont = oTextRange.Font<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oFont.Name = "Comic Sans MS"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oFont.Size = 48</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oChart As Graph.Chart<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oShape = oShapes.AddOLEObject(150, 150, 480, 320, "MSGraph.Chart.8")<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oOLEFormat = oShape.OLEFormat<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oChart = oOLEFormat.Object<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oChart.ChartType = Graph.XlChartType.xl3DColumnClustered</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '释放对象<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oChart)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oOLEFormat)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oFont)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oTextRange)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oTextFrame)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oShape)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oShapes)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oSlide)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oSlides)</span></p>
<p><br /><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '建立幻灯片3<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '增加一个艺术字并应用阴影效果<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oSlides = oPres.Slides<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oSlide = oSlides.Add(3, PowerPoint.PpSlideLayout.ppLayoutBlank)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oSlide.FollowMasterBackground = False<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oShapes = oSlide.Shapes<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oShape = oShapes.AddTextEffect(Office.MsoPresetTextEffect.msoTextEffect27, _<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "The End", "Impact", 96, False, False, 230, 200)</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oShadow = oShape.Shadow<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oForeColor = oShadow.ForeColor<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oForeColor.SchemeColor = PowerPoint.PpColorSchemeIndex.ppForeground<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oShadow.Visible = True<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oShadow.OffsetX = 3<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oShadow.OffsetY = 3</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '释放对象.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oShadow)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oForeColor)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oShape)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oShapes)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oSlide)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oSlides)</span></p>
<p><br /><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '修改演示文稿中所有幻灯片的放映切换设置。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim SlideIdx(3) As Integer<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SlideIdx(0) = 1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SlideIdx(1) = 2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SlideIdx(2) = 3</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oSlides = oPres.Slides<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oRange = oSlides.Range(SlideIdx)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oSlideShowTransition = oRange.SlideShowTransition<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oSlideShowTransition.AdvanceOnTime = False<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oSlideShowTransition.EntryEffect = PowerPoint.PpEntryEffect.ppEffectBoxOut</span></p>
<p><br /><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '放映幻灯片<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RunSlideShow()</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '释放对象<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oSlideShowTransition)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oRange)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oSlides)</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '不保存改变关闭演示文稿<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oPres.Saved = True<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oPres.Close()</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '释放对象<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oPres)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oPresentations)</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '移去所有事件句柄<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RemoveHandler oApp.SlideShowBegin, AddressOf oApp_SlideShowBegin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RemoveHandler oApp.SlideShowNextSlide, AddressOf oApp_SlideShowNextSlide<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RemoveHandler oApp.PresentationClose, AddressOf oApp_PresentationClose</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '退出PPT<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oApp.Quit()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oApp)</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GC.Collect()</span></p>
<p><span style="font-size: 14px;">12、下面这两过程用于Button1_Click事件中，用来启动幻灯片放映<br />&nbsp;Private Sub RunSlideShow()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oSettings As PowerPoint.SlideShowSettings<br />&nbsp;&nbsp;&nbsp;&nbsp; Dim oSlideShowWindows As PowerPoint.SlideShowWindows</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp; oSettings = oPres.SlideShowSettings<br />&nbsp;&nbsp;&nbsp;&nbsp; oSettings.StartingSlide = 1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; oSettings.EndingSlide = 3</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oSettings.Run()</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oSlideShowWindows = oApp.SlideShowWindows</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; On Error Resume Next<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Do While oSlideShowWindows.Count &gt;= 1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Windows.Forms.Application.DoEvents()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; Loop</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp; NAR(oSlideShowWindows)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oSettings)<br />&nbsp;End Sub</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp; &nbsp;'NAR用于释放对象<br />&nbsp;&nbsp; &nbsp;Private Sub NAR(ByVal o As Object)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Try<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Runtime.InteropServices.Marshal.ReleaseComObject(o)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Catch<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Finally<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; o = Nothing<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End Try<br />&nbsp;&nbsp;&nbsp; &nbsp;End Sub</span></p>
<p><span style="font-size: 14px;">13、增加事件句柄:</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp; &nbsp;Private Sub oApp_SlideShowBegin(ByVal Wn As Microsoft.Office.Interop.PowerPoint.SlideShowWindow)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '改变放映窗口的位置和大小<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oView As PowerPoint.SlideShowView</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; With Wn<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .Height = 325<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .Width = 400<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .Left = 100<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .Activate()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End With<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oView = Wn.View<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oView.Next()</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oView)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(Wn)<br />&nbsp;&nbsp;&nbsp; &nbsp;End Sub</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp; &nbsp;Private Sub oApp_SlideShowNextSlide(ByVal Wn As Microsoft.Office.Interop.PowerPoint.SlideShowWindow)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '改变放映窗口指针的颜色和类型<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim Showpos As Integer<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oView As PowerPoint.SlideShowView<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim oColorFormat As PowerPoint.ColorFormat</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oView = Wn.View<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Showpos = oView.CurrentShowPosition + 1</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Showpos = 3 Then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oColorFormat = oView.PointerColor<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oColorFormat.RGB = RGB(255, 0, 0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oView.PointerType = PowerPoint.PpSlideShowPointerType.ppSlideShowPointerPen<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oColorFormat = oView.PointerColor<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oColorFormat.RGB = RGB(0, 0, 0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oView.PointerType = PowerPoint.PpSlideShowPointerType.ppSlideShowPointerArrow<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oColorFormat)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(oView)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(Wn)<br />&nbsp;&nbsp;&nbsp; &nbsp;End Sub</span></p>
<p><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp; &nbsp;Private Sub oApp_PresentationClose(ByVal Pres As Microsoft.Office.Interop.PowerPoint.Presentation)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '关闭演示文稿前，把它保存为网页格式。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Pres.SaveAs("C:\TestEvents.htm", PowerPoint.PpSaveAsFileType.ppSaveAsHTML)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAR(Pres)<br />&nbsp;&nbsp;&nbsp; &nbsp;End Sub</span></p>
<p><span style="font-size: 14px;">&nbsp;</span></p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://pptaddins.blogbus.com/logs/49143130.html">学习写作一个PPT插件（入门级）</a> 2009-10-25</div><div><a href="/logs/49133531.html">设置和获取幻灯片的大小</a> 2009-10-25</div><div><a href="/logs/43628222.html">关于PowerPoint动画库扩展注册的若干问题</a> 2009-08-06</div><div><a href="/logs/32797872.html">解密PowerPoint动画之时间线</a> 2008-12-22</div><div><a href="/logs/32085264.html">比尔.盖茨与史蒂夫.乔布斯的幻灯片</a> 2008-12-03</div></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://pptaddins.blogbus.com/logs/49133399.html</link>
   <author>pptaddins</author>
   <pubDate>Sun, 25 Oct 2009 17:32:58 +0800</pubDate>
  </item>
  <item>
   <title>申请加入Shape Editor For PowerPoint2007测试</title>
   <description><![CDATA[<p><span style="font-size: 14px;">Shape Editor For PowerPoint2007 Beta 版即将推出供朋友们测试使用，如果您对这个工具充满好奇并感兴趣，您可以申请加入到Beta版的测试中来，申请的程序非常简单，您只需要向</span><a href="mailto:Wuji_zhifeng@sina.com"><span style="font-size: 14px;">Wuji_zhifeng@sina.com</span></a><span style="font-size: 14px;">发送一封申请邮件，并同意提供测试报告，经审核之后，我们会向您发送安装程序和测试报告填写单。</span></p>
<p><span style="font-size: 14px;"><strong><span style="font-size: 16px;">声明：</span></strong></span></p>
<p><span style="font-size: 14px;">（1）未经许可，请不要向别人发布该测试版安装程序或提供下载链接，本软件受中华人民共和国《著作权法》的保护。<br />（2）请不要在工作文档中测试，这样可以避免由于某些缺陷而导致数据丢失。本人不承担由于不正确的测试方法而造成的损失。</span></p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://pptaddins.blogbus.com/logs/45881703.html">Shape Editor For PowerPoint2007</a> 2009-09-06</div><div><a href="/logs/42369502.html">第二届锐普PPT大赛——“祖国60年”活动公告</a> 2009-07-15</div><div><a href="/logs/40861573.html">感谢</a> 2009-06-11</div><div><a href="/logs/40798509.html">2009年第二期博客公告</a> 2009-06-10</div><div><a href="/logs/35310278.html">2009年第一期博客公告</a> 2009-02-17</div></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://pptaddins.blogbus.com/logs/45882319.html</link>
   <author>pptaddins</author>
   <pubDate>Sun, 06 Sep 2009 13:42:56 +0800</pubDate>
  </item>
  <item>
   <title>Shape Editor For PowerPoint2007</title>
   <description><![CDATA[<p><span style="font-size: 14px;">Shape Editor For PowerPoint 2007是一款基于微软PowerPoint平台的增强Shape对象编辑的工具，它可以让您快速地对对象进行&ldquo;对齐&rdquo;、&ldquo;布局&rdquo;、&ldquo;变形&rdquo;&ldquo;填充&rdquo;及&ldquo;滤镜&rdquo;效果的处理，主要包括以下一些特性：</span></p>
<p><span style="font-size: 14px;">（1）采用Flash工具面板界面，非常直观方便快速。<br />（2）可视化的填充设置，支持实时渐变编辑。<br />（3）快速地对对象进行&ldquo;对齐&rdquo;、&ldquo;布局&rdquo;，&ldquo;大小调整&rdquo;和&ldquo;批量更名&rdquo;。<br />（4）利用&ldquo;变形&rdquo;，可以对对象围绕指定点进行旋转并复制，从而制作出非常复杂而炫丽的图形。<br />（5）提供了超过几十种的对象&ldquo;滤镜&rdquo;效果。<br />部分功能还没有写完，将不包括在Beta版中。</span></p>
<p><img src="http://filer.blogbus.com/4617736/461773612522155589.jpg" border="0" alt="" /></p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://pptaddins.blogbus.com/logs/45882319.html">申请加入Shape Editor For PowerPoint2007测试</a> 2009-09-06</div><div><a href="/logs/37579347.html">再次请求路过的朋友帮忙</a> 2009-04-07</div><div><a href="/logs/33188666.html">充分创意的遮挡效果动画</a> 2008-12-31</div><div><a href="/logs/32679717.html">一个功能强大的PPT动画工具</a> 2008-12-19</div><div><a href="/logs/32051221.html">PowerPoint动画库扩展</a> 2008-12-02</div></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://pptaddins.blogbus.com/logs/45881703.html</link>
   <author>pptaddins</author>
   <pubDate>Sun, 06 Sep 2009 12:30:31 +0800</pubDate>
  </item>
  <item>
   <title>认识PowerPoint中的Chart对象模型</title>
   <description><![CDATA[<p style="TEXT-ALIGN: center"><span style="font-size: 16px;"><strong>认识PowerPoint中的Chart对象模型</strong></span></p>
<p style="text-align: left;"><span style="font-size: 14px;">在office 2007发行版本中，对图表的修改并没有涉及整个的office，如在Word和PowerPoint中就没有提供。但</span><span style="font-size: 14px;">是在office 2007 SP2和office 2010中微软在Word和PowerPoint中提供了统一的图表对象模型。图表由Office</span><span style="font-size: 14px;">共享的绘图层绘制，如果你熟悉在Excel 2007中应用图表对象，你就能很容易地在Word或PowerPoint建立相似</span><span style="font-size: 14px;">的解决方案。</span></p>
<p><span style="font-size: 14px;">很多时候，公司需要在文档或演示文稿中建立客户指定数据的图表，在一般情况下，这些图表有一个标准格式</span><span style="font-size: 14px;">，大小和位置。这个图表对象可以作为解决方案的一部分自动地生成所需要的图表，从而既节省了时间，又避</span><span style="font-size: 14px;">免了繁重的体力劳动。</span></p>
<p><span style="font-size: 14px;">下面提供一个例子，在PowerPoint中建立一个图表。</span></p>
<p><span style="font-size: 14px;">Sub CreateChart()<br />&nbsp;&nbsp;&nbsp; Dim oChart As Chart<br />&nbsp;&nbsp;&nbsp; Dim oChartData As ChartData<br />&nbsp;&nbsp;&nbsp; Dim oWB As Excel.Workbook<br />&nbsp;&nbsp;&nbsp; Dim oWS As Excel.Worksheet<br />&nbsp;&nbsp;&nbsp; Set oChart = ActivePresentation.Slides(1).Shapes.AddChart.Chart '建立chart<br />&nbsp;&nbsp;&nbsp; Set oChartData = ActivePresentation.Slides(1).Shapes(1).Chart.ChartData<br />&nbsp;&nbsp;&nbsp; Set oWB = oChartData.Workbook <br />&nbsp;&nbsp;&nbsp; Set oWS = oWB.Worksheets(1)<br />&nbsp;&nbsp;&nbsp; oWS.ListObjects("Table1").Resize gWorkSheet.Range("A1:B5") '增加数据<br />&nbsp;&nbsp;&nbsp; oWS.Range("Table1[[#Headers],[Series 1]]").Value = "销售"<br />&nbsp;&nbsp;&nbsp; oWS.Range("a2").Value = "自行车"<br />&nbsp;&nbsp;&nbsp; oWS.Range("a3").Value = "配件"<br />&nbsp;&nbsp;&nbsp; oWS.Range("a4").Value = "修理"<br />&nbsp;&nbsp;&nbsp; oWS.Range("a5").Value = "服装"<br />&nbsp;&nbsp;&nbsp; oWS.Range("b2").Value = "1000"<br />&nbsp;&nbsp;&nbsp; oWS.Range("b3").Value = "2500"<br />&nbsp;&nbsp;&nbsp; oWS.Range("b4").Value = "4000"<br />&nbsp;&nbsp;&nbsp; oWS.Range("b5").Value = "3000"<br />&nbsp;&nbsp;&nbsp; With oChart <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .ChartStyle = 4<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .ApplyLayout 4<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .ClearToMatchStyle<br />&nbsp;&nbsp;&nbsp; End With<br />&nbsp;&nbsp;&nbsp; oChart.HasTitle = True '增加标题<br />&nbsp;&nbsp;&nbsp; With oChart.ChartTitle '格式化标题<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .Characters.Font.Size = 18<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .Text = "2007 Sales"<br />&nbsp;&nbsp;&nbsp; End With<br />&nbsp;&nbsp;&nbsp; With oChart.Axes(xlValue) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .HasTitle = True<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .AxisTitle.Text = "$"<br />&nbsp;&nbsp;&nbsp; End With<br />&nbsp;&nbsp;&nbsp; oChart.ApplyDataLabels <br />&nbsp;&nbsp;&nbsp; Set oWS = Nothing<br />&nbsp;&nbsp;&nbsp; oWB.Application.Quit<br />&nbsp;&nbsp;&nbsp; Set oWB = Nothing<br />&nbsp;&nbsp;&nbsp; Set oChartData = Nothing<br />&nbsp;&nbsp;&nbsp; Set oChart = Nothing<br />End Sub</span></p>
<p><span style="font-size: 14px;">由上面的代码，我们可以看到一个图表仍然通过一个Shape来加载。</span></p>
<p><span style="font-size: 14px;">在PowerPoint中，通过编程来操纵图表为我们在演示过程中设计图表的动态外观打开了一片门。</span></p>
<p>&nbsp;</p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://pptaddins.blogbus.com/logs/43116216.html">用代码在放映时画图</a> 2009-07-28</div><div><a href="/logs/42378738.html">让SilverLight平民化</a> 2009-07-15</div><div><a href="/logs/41079490.html">用PPT仿做Flash的片头</a> 2009-06-16</div><div><a href="/logs/33661236.html">关于如何提取Exe文件中PPT源文件的几种方法</a> 2009-01-09</div><div><a href="/logs/33473361.html">解密PowerPoint动画之缩放篇</a> 2009-01-06</div></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://pptaddins.blogbus.com/logs/44590440.html</link>
   <author>pptaddins</author>
   <pubDate>Wed, 19 Aug 2009 17:50:51 +0800</pubDate>
  </item>
  <item>
   <title>体验PowerPoint2010新特性-背景移除工具【视频教程】</title>
   <description><![CDATA[<p><span style="font-size: 14px;">PowerPoint2010提供了一个十分实用的工具：图片背景移除工具，这个工具通过像素相近的原则，可以保留图片中指定的区域，移去图片中指定的区域，这样我们就能把图片中特定的部分扣出来，功能十分强大，操作简单，一点都不比PS中的套索工具差，下面的是一段关于这个工具的视频教程：</span></p>
<p><img src="http://pptaddins.blogbus.com/files/12495504610.jpg" border="0" alt="" width="419" height="374" /></p>
<p>&nbsp;<span style="font-size: 14px;">视频下载:<span style="color: #0000ff;"><a href="http://www.brsbox.com/filebox/down/fc/7b8662dea5c5e5ad65004bb63e787fc7" target="_blank">http://www.brsbox.com/filebox/down/fc/7b8662dea5c5e5ad65004bb63e787fc7</a></span></span></p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="/logs/42369502.html">第二届锐普PPT大赛——“祖国60年”活动公告</a> 2009-07-15</div><div><a href="/logs/41079490.html">用PPT仿做Flash的片头</a> 2009-06-16</div><div><a href="/logs/33423336.html">解密PowerPoint动画之滤镜篇</a> 2009-01-05</div><div><a href="/logs/33118479.html">解密PowerPoint动画之内插值篇</a> 2008-12-30</div><div><a href="/logs/32046474.html">导出嵌入的声音文件(*.WAV)</a> 2008-12-02</div></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://pptaddins.blogbus.com/logs/43631045.html</link>
   <author>pptaddins</author>
   <pubDate>Thu, 06 Aug 2009 16:46:20 +0800</pubDate>
  </item>
  <item>
   <title>关于PowerPoint动画库扩展注册的若干问题</title>
   <description><![CDATA[<p><span style="font-size: 14px;">PowerPoint动画库扩展从推出到现在已经近10个月了，10个月来它经历了四次版本的升级，目前正在把它升级到3.0多语言版。在开发过程中，有许多的朋友提出了非常好的建议和想法，我们会把这些想法和建议进行归类汇总，并进行开发分析，以便把这个工具做得更好更强更有特色。同时也有很多朋友提出了一系列的问题，在这些问题当中，关于注册是最被关注的，下面我就一一来解答。</span></p>
<p><strong><span style="font-size: 16px;">1、如何注册？</span></strong></p>
<p><span style="font-size: 14px;">（1）下载并安装PowerPoint动画库扩展，下载地址在下面。</span></p>
<p><span style="font-size: 14px;">（2）打开PowerPoint，找到它的工具栏（PPT2003会自动出现，2007在&ldquo;加载项&rdquo;中），单击&ldquo;注册&rdquo;按钮，在打开的窗口中记下&ldquo;产品特征码&rdquo;。</span></p>
<p><span style="font-size: 14px;">（3）通过支付宝、网上银行、扑奔网上商城或银行汇款的方式付出40元人民币的注册费用。</span></p>
<p><span style="font-size: 14px;">（4）向</span><a href="mailto:Wuji.zhifeng@163.com"><span style="font-size: 14px;">Wuji.zhifeng@163.com</span></a><span style="font-size: 14px;">发送邮件，邮件内容包括上面记下的&ldquo;产品特征码&rdquo;，注册什么产品，注册人常用邮箱或姓名、地址、其他可靠的联系方式。</span></p>
<p><span style="font-size: 14px;">（5）通过审核（最长不超过三天），我们会通过邮件的方式把授权注册码寄出。</span></p>
<p><span style="font-size: 14px;">（6）运用获取的授权注册码进行注册，成功后即可正常使用。</span></p>
<p><span style="font-size: 16px;"><strong>2、授权注册码是否可以用于其他电脑？</strong></span></p>
<p><span style="font-size: 14px;">授权注册码具有全球唯一性，只能应用于符合特征码的电脑上，用于其他电脑将被视为非法。</span></p>
<p><strong><span style="font-size: 16px;">3、授权注册码有没有时间限制？</span></strong></p>
<p><span style="font-size: 14px;">没有，授权注册码终身有效。</span></p>
<p><strong><span style="font-size: 16px;">4、是否可以免费升级？</span></strong></p>
<p><span style="font-size: 14px;">当然可以，这是注册用户应该享受的权利。</span></p>
<p><strong><span style="font-size: 16px;">5、如果我更换了电脑，是否可以为我更换授权注册码？</span></strong></p>
<p><span style="font-size: 14px;">在PowerPoint动画库扩展推出时，我们曾提供了这样的服务，然而因为出现了某些令人不愉快的事情，所以我们现在只提供一个注册用户有一次更换授权注册码的机会，而这样的机会在PowerPoint动画库扩展3.0之后也会取消。当然，在3.0推出之前注册的用户，如果他没有用掉这个机会，我们会一直为他保留。</span></p>
<p><strong><span style="font-size: 16px;">6、现有注册方式太单一，是否可以提供更方便的注册方式？</span></strong></p>
<p><span style="font-size: 14px;">很多的朋友来信反映PowerPoint动画库扩展注册方式非常原始和不便，希望提供更好的注册方式。为此，我们开通过了&ldquo;支付宝&rdquo;帐户和&ldquo;扑奔&rdquo;网上商城。</span></p>
<p><span style="font-size: 14px;">&ldquo;支付宝&rdquo;帐户：wuji.zhifeng@163.com</span></p>
<p><span style="font-size: 14px;">&ldquo;扑奔网上商城&rdquo;：</span><a href="http://www.pooban.com/mall/index.php?app=goods&amp;id=13"><span style="font-size: 14px;">http://www.pooban.com/mall/index.php?app=goods&amp;id=13</span></a></p>
<p><span style="font-size: 14px;">下载PowerPoint动画库扩展：</span><a href="http://www.brsbox.com/filebox/down/fc/3f138a06b325a857cff40a2637844569"><span style="font-size: 14px;">http://www.brsbox.com/filebox/down/fc/3f138a06b325a857cff40a2637844569</span></a></p>
<p><span style="font-size: 14px;">&nbsp;</span></p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://pptaddins.blogbus.com/logs/42173782.html">PowerPoint动画库扩展视频教程与实例</a> 2009-07-10</div><div><a href="http://pptaddins.blogbus.com/logs/40861573.html">感谢</a> 2009-06-11</div><div><a href="http://pptaddins.blogbus.com/logs/40798509.html">2009年第二期博客公告</a> 2009-06-10</div><div><a href="/logs/41358476.html">PowerPoint动画库扩展2.5</a> 2009-06-22</div><div><a href="/logs/37417813.html">认识PowerPoint动画库扩展2.0界面</a> 2009-04-03</div></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://pptaddins.blogbus.com/logs/43628222.html</link>
   <author>pptaddins</author>
   <pubDate>Thu, 06 Aug 2009 15:18:47 +0800</pubDate>
  </item>
  <item>
   <title>用代码在放映时画图</title>
   <description><![CDATA[<p>在阅读下面的内容之前，您应当具备下面的一些知识：</p>
<p>（1）基础的数学能力<br />（2）基础的VBA语言能力<br />（3）基本的算法能力</p>
<p>当您有了上面的基础知识之后，您就可以开始下面神奇的代码之旅了。</p>
<p>代码段一：绘正叶图</p>
<p><a href="http://pptaddins.blogbus.com/files/s/12487875510.jpg" target="_blank"><img src="http://pptaddins.blogbus.com/files/12487875510.jpg" border="0" alt="" width="375" height="388" /></a></p>
<p>Sub 绘正叶图()<br />Dim r, x, y, i As Double<br />Dim cx, cy<br />Const PI = 3.1415926<br />For i = 0 To 6.3 Step 0.1<br />&nbsp;&nbsp;&nbsp; r = 4 * Cos(2 * i)<br />&nbsp;&nbsp;&nbsp; x = r * Cos(i)<br />&nbsp;&nbsp;&nbsp; y = r * Sin(i)<br />&nbsp;&nbsp;&nbsp; If i = 0 Then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cx = 320 + x * 50<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cy = 240 - y * 50<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'ActivePresentation.SlideShowWindow.View.DrawLine cx, cy, 320 + x * 50, 240 - y * 50<br />&nbsp;&nbsp;&nbsp; Else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ActivePresentation.SlideShowWindow.View.DrawLine cx, cy, 320 + x * 50, 240 - y * 50<br />&nbsp;&nbsp;&nbsp; cx = 320 + x * 50<br />&nbsp;&nbsp;&nbsp; cy = 240 - y * 50<br />&nbsp;&nbsp;&nbsp; End If<br />Next i<br />End Sub</p>
<p>代码二：绘钻石</p>
<p><img src="http://pptaddins.blogbus.com/files/12487880310.jpg" border="0" alt="" width="412" height="408" /></p>
<p>Sub 绘钻石()<br />Dim x(50), y(50), Xc, Yc, tt, n, r, i, j<br />&nbsp;&nbsp;&nbsp; Xc = 320<br />&nbsp;&nbsp;&nbsp; Yc = 240<br />&nbsp;&nbsp;&nbsp; r = 200<br />&nbsp;&nbsp;&nbsp; n = 21<br />&nbsp;&nbsp;&nbsp; tt = 2 * 3.14159 / n<br />&nbsp;&nbsp;&nbsp; For i = 0 To n - 1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x(i) = Xc + r * Cos(i * tt)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y(i) = Yc - r * Sin(i * tt)<br />&nbsp;&nbsp;&nbsp; Next i<br />&nbsp;&nbsp;&nbsp; For i = 0 To n - 2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For j = i + 1 To n - 1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ActivePresentation.SlideShowWindow.View.DrawLine x(i), y(i), x(j), y(j)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next j<br />&nbsp;&nbsp;&nbsp; Next i<br />End Sub</p>
<p>代码三：绘星形</p>
<p><img src="http://pptaddins.blogbus.com/files/12487880311.jpg" border="0" alt="" width="343" height="319" /></p>
<p>Sub 绘星形()<br />&nbsp;&nbsp;&nbsp; a = 100<br />&nbsp;&nbsp;&nbsp; b = 10<br />&nbsp;&nbsp;&nbsp; x = a<br />&nbsp;&nbsp;&nbsp; y = a<br />&nbsp;&nbsp;&nbsp; For i = 0 To 10<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; star x, y<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x = x + b<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y = y - b<br />&nbsp;&nbsp;&nbsp; Next i<br />&nbsp;&nbsp;&nbsp; x = a<br />&nbsp;&nbsp;&nbsp; y = a<br />&nbsp;&nbsp;&nbsp; For i = 0 To 10<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; star x, y<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x = x - b<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y = y + b<br />&nbsp;&nbsp;&nbsp; Next i<br />End Sub<br />Private Sub star(x, y)<br />&nbsp;&nbsp;&nbsp; ActivePresentation.SlideShowWindow.View.DrawLine 320, 200 - y, 320 - x, 200<br />&nbsp;&nbsp;&nbsp; ActivePresentation.SlideShowWindow.View.DrawLine 320 - x, 200, 320, 200 + y<br />&nbsp;&nbsp;&nbsp; ActivePresentation.SlideShowWindow.View.DrawLine 320, 200 + y, 320 + x, 200<br />&nbsp;&nbsp;&nbsp; ActivePresentation.SlideShowWindow.View.DrawLine 320 + x, 200, 320, 200 - y<br />End Sub</p>
<p>&nbsp;代码四：绘树形图</p>
<p><img src="http://pptaddins.blogbus.com/files/12487886920.jpg" border="0" alt="" width="298" height="315" /></p>
<p>Sub 绘树形图()<br />&nbsp;&nbsp;&nbsp; a = 3.14 / 15#<br />&nbsp;&nbsp;&nbsp; th = 3.14 / 12#<br />&nbsp;&nbsp;&nbsp; '绘出树干<br />&nbsp;&nbsp;&nbsp; ActivePresentation.SlideShowWindow.View.DrawLine 150, 400, 450, 400<br />&nbsp;&nbsp;&nbsp; ActivePresentation.SlideShowWindow.View.DrawLine 285, 400, 300, 180<br />&nbsp;&nbsp;&nbsp; ActivePresentation.SlideShowWindow.View.DrawLine 300, 180, 315, 400<br />&nbsp;&nbsp;&nbsp; '用随机函数Rnd绘制树叶<br />&nbsp;&nbsp;&nbsp; For i = 0 To 99<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Xc = 180 + Rnd * 200<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Yc = 100 + Rnd * 180<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For j = 0 To 12<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x = Xc + 20 * Cos(j * a + th)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y = Yc - 20 * Sin(j * a + th)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ActivePresentation.SlideShowWindow.View.DrawLine Xc, Yc, x, y<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next j<br />&nbsp;&nbsp;&nbsp; Next i<br />End Sub</p>
<p>代码五：绘漂亮像框</p>
<p><img src="http://pptaddins.blogbus.com/files/12487886921.jpg" border="0" alt="" width="326" height="249" /></p>
<p>Sub 绘漂亮像框()<br />&nbsp;&nbsp;&nbsp; Const PI = 3.1415926<br />&nbsp;&nbsp;&nbsp; Dim px, py, x, y, r, l, nn, i, n As Integer<br />&nbsp;&nbsp;&nbsp; Dim x1(121), x2(121), y1(121), y2(121), cx, cy As Double<br />&nbsp;&nbsp;&nbsp; Dim a As Double<br />&nbsp;&nbsp;&nbsp; 'PictDraw.Cls<br />&nbsp;&nbsp;&nbsp; r = 35<br />&nbsp;&nbsp;&nbsp; n = -1<br />&nbsp;&nbsp;&nbsp; nn = 35<br />&nbsp;&nbsp;&nbsp; i = 1<br />&nbsp;&nbsp;&nbsp; For a = 0 To 2 * PI Step PI / 60<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x1(i) = CInt((1.1 * (r / 5 * Sin(8 * a) + r * Sin(2 * a)) * Cos(a)))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y1(i) = CInt((0.85 * (r / 5 * Sin(8 * a) + r * Sin(2 * a)) * Sin(a)))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x2(i) = CInt(((r / 5 * Sin(6 * a) + r * Sin(2 * a)) * Cos(a)))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y2(i) = CInt(((r / 5 * Sin(6 * a) + r * Sin(2 * a)) * Sin(a)))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i = i + 1<br />&nbsp;&nbsp;&nbsp; Next a<br />&nbsp;&nbsp;&nbsp; For px = 120 To 540 Step 60<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For py = 50 To 350 Step 60<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n = n + 1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If px = 120 Or px = 540 Or py = 50 Or py = 350 Then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For i = 1 To 121<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x = (x2(i) - x1(i)) / nn * n + x1(i)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y = (y2(i) - y1(i)) / nn * n + y1(i)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x = (x + px) / 2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y = (y + py) / 2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If i = 1 Then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cx = x<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cy = y<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ActivePresentation.SlideShowWindow.View.DrawLine cx, cy, x, y<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cx = x: cy = y<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next i<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next py<br />&nbsp;&nbsp;&nbsp; Next px<br />End Sub</p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://pptaddins.blogbus.com/logs/49143130.html">学习写作一个PPT插件（入门级）</a> 2009-10-25</div><div><a href="http://pptaddins.blogbus.com/logs/44590440.html">认识PowerPoint中的Chart对象模型</a> 2009-08-19</div><div><a href="http://pptaddins.blogbus.com/logs/32046868.html">判断动画归属类别</a> 2008-12-02</div><div><a href="http://pptaddins.blogbus.com/logs/32046474.html">导出嵌入的声音文件(*.WAV)</a> 2008-12-02</div><div><a href="/logs/49133531.html">设置和获取幻灯片的大小</a> 2009-10-25</div></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://pptaddins.blogbus.com/logs/43116216.html</link>
   <author>pptaddins</author>
   <pubDate>Tue, 28 Jul 2009 20:50:31 +0800</pubDate>
  </item>
  <item>
   <title>让SilverLight平民化</title>
   <description><![CDATA[<p><a href="http://pptaddins.blogbus.com/files/s/12476325610.jpg" target="_blank"></a><a href="http://pptaddins.blogbus.com/files/s/12476329470.jpg" target="_blank"></a><span style="font-size: 14px;"><span style="font-family: '微软雅黑', sans-serif;">SilverLight从2007年推出到现在已经整整22个月了，有人把它称为Flash的杀手，但我一直不这样认为，每一个软件，每一个技术都会有自己独特的东西。过去的22个月，SilverLight并没有像人们所期待的那样快速挤压Flash市场，这其中最主要的原因是SliverLight对于普通用户来说太过于高贵，门槛太高。虽然微软推出了Expression Blend，这个工具功能强大，但还是不如Flash那样容易上手，并不能够让普通用户快速入门。</span></span></p>
<p><span style="font-size: 14px;"><span style="font-family: '微软雅黑', sans-serif;">现在</span></span><a href="http://www.sothink.com" target="_blank"><span style="color: #3366ff;"><span style="font-size: 14px;"><span style="font-family: '微软雅黑', sans-serif;">SourceTec</span></span></span></a><span style="font-size: 14px;"><span style="font-family: '微软雅黑', sans-serif;">公司推出了一款让SilverLight平民化的工具：</span></span><a href="http://www.sothink.com/product/animation-maker-for-silverlight/index.htm" target="_blank"><span style="color: #3366ff;"><span style="font-size: 14px;"><span style="font-family: '微软雅黑', sans-serif;">Sothink Quicker For SilverLight 3.0</span></span></span></a><span style="font-size: 14px;"><span style="font-family: '微软雅黑', sans-serif;">，只要你用过Flash，你就能快速熟练地操纵这个工具，有了这个工具，SilverLight将脱去它高贵的外衣，走入寻常百姓家。</span></span></p>
<p><a href="http://pptaddins.blogbus.com/files/s/12476329470.jpg" target="_blank"><img src="http://pptaddins.blogbus.com/files/12476329470.jpg" border="0" alt="" /></a><a href="http://pptaddins.blogbus.com/files/s/12476325610.jpg" target="_blank"></a></p>
<p><span style="font-size: 14px;"><span style="font-family: '微软雅黑', sans-serif;">从此我们就可以像制作Flash那样来制作SilverLight动画了。</span></span></p>
<p><span style="font-size: 14px;"><span style="font-family: '微软雅黑', sans-serif;">支持微软Silverlight V2.0. <br />一个Silverlight 动画制作领先工具<br />支持创建各种动画, 如补间动画, 引导线动画和逐帧动画.<br />为您创建的图像和形状提供了全套的绘图工具<br />提供强大形状编辑能力<br />支持导入SWF文件或单个的SWF元素,例如图像,声音等来创建Silverlight动画.<br />支持导入和编辑各种声音、图像和视频格式.<br />支持输出Microsoft Expression Blend Solution.<br />支持替换实例符号<br />支持使用C#或JavaScript独立编写脚本<br />支持加入事件句柄<br />支持多字节语言文本</span></span></p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://pptaddins.blogbus.com/logs/37332692.html">隆重推出PowerPoint动画库扩展2.0</a> 2009-04-01</div><div><a href="http://pptaddins.blogbus.com/logs/35659572.html">解密PowerPoint动画之颜色篇</a> 2009-02-24</div><div><a href="http://pptaddins.blogbus.com/logs/33473361.html">解密PowerPoint动画之缩放篇</a> 2009-01-06</div><div><a href="http://pptaddins.blogbus.com/logs/33423336.html">解密PowerPoint动画之滤镜篇</a> 2009-01-05</div><div><a href="http://pptaddins.blogbus.com/logs/33188666.html">充分创意的遮挡效果动画</a> 2008-12-31</div></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://pptaddins.blogbus.com/logs/42378738.html</link>
   <author>pptaddins</author>
   <pubDate>Wed, 15 Jul 2009 12:02:38 +0800</pubDate>
  </item>
 </channel>
</rss>
