MS PowerPoint的可变增长

时间:2018-05-24 09:22:02

标签: powerpoint

我对PowerPoint的知识非常有限但是被要求创建一个演示幻灯片,我必须点击地图上的区域,这将改变颜色并增加一个数字(人口)。我可以在点击时更改地图的颜色,并且我能够显示气泡,但我无法根据点击的地图区域增加人口数量。

我已经在这里查看了一些解决方案,并在网上进行了一些研究,但无法找到任何可以指向正确方向的解决方案。

当您单击地图的特定区域(自由形式)时,是否可以创建变量并传递数字。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以将每个形状的动作设置设置为运行宏:(宏名称) 当您在幻灯片放映期间单击形状时,这将运行名为(宏名称)的VBA子例程。

Mac PowerPoint有一些错误,使其无法像在Windows PowerPoint中那样顺利运行,但下面的代码可以解决这些问题并适用于任一版本。

Sub IncrementNumber(oSh as Shape)

   Dim oSl as Slide
   Dim oShTemp as Shape

   ' oSh.Parent returns a valid reference to the shape's host slide:  
   Set oSl = ActivePresentation.Slides(oSh.Parent.SlideIndex)
   ' and oSh.Name works as well

   ' So we use those two bits to get a reference 
   ' to the clicked shape like so
   Set oShTemp = oSl.Shapes(oSh.Name)
   With oShTemp
       .TextFrame.TextRange.Text = _
       Cstr(CLng(oShTemp.TextRange.Text) + 1)
   End With

End Sub

关于这一点:

Cstr(CLng(oShTemp.TextRange.Text) + 1)

这将获取形状中的当前文本,将其从文本(字符串)转换为数字,以便我们可以对其进行算术运算,向其添加1,然后将其转换回文本,以便我们可以将其重新插入形状和#39; s text。

如果您不知道如何处理VBA代码示例,那么我维护的PowerPoint常见问题解答网站上有一个教程:

如何在PowerPoint中使用VBA代码 http://www.pptfaq.com/FAQ00033_How_do_I_use_VBA_code_in_PowerPoint.htm