MS PowerPoint 中的变量增加

Variable Increase in MS PowerPoint

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

我查看了附近的一些解决方案并在线进行了一些研究,但找不到任何可以为我指明正确方向的内容。

有没有办法在点击地图的特定区域时创建一个变量并传递一个数字,这是一个自由形式。

提前感谢您的帮助。

您可以将每个形状的动作设置设置为 运行 Macro:(宏名称) 当您在幻灯片放映期间单击形状时,运行 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,然后将其转换回文本以便我们将其重新插入形状的文本。

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

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