我对PowerPoint的知识非常有限但是被要求创建一个演示幻灯片,我必须点击地图上的区域,这将改变颜色并增加一个数字(人口)。我可以在点击时更改地图的颜色,并且我能够显示气泡,但我无法根据点击的地图区域增加人口数量。
我已经在这里查看了一些解决方案,并在网上进行了一些研究,但无法找到任何可以指向正确方向的解决方案。
当您单击地图的特定区域(自由形式)时,是否可以创建变量并传递数字。
提前感谢您的帮助。
答案 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