首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Powerpoint中显示/隐藏表格中的数据?

如何在Powerpoint中显示/隐藏表格中的数据?
EN

Stack Overflow用户
提问于 2016-10-10 14:07:41
回答 2查看 3.3K关注 0票数 0

我正在试着用几张带表格的幻灯片,每个表格有3列,最后一列是“参考值”,我想在演示期间隐藏它,只通过按下按钮或超链接来显示它,每一行都是单独的。我认为这是可能的,因为我是编程新手,而且我已经成功地将单元格的文本格式从白色(表格的背景颜色)更改为红色,但我一次只能对所有表格执行此操作,并且我需要每个表格上都有单独的值。(我希望我说得很清楚了)。这就是我到目前为止所做的:

代码语言:javascript
运行
复制
Sub format()

Dim s As Slide
Dim oSh As Shape
Dim oTbl As Table


For Each s In ActivePresentation.Slides

For Each oSh In s.Shapes
    If oSh.HasTable Then
        Set oTbl = oSh.Table

       With oTbl.Cell(2, 3).Shape.TextFrame.TextRange
                    .Text = "4500-9000"
                     .Font.Size = 12
                    .Font.Color = vbRed
                End With
    End If
Next
Next s
End Sub

但这将改变我拥有的每个表上的相同单元格,我希望它逐个改变特定表中的特定单元格,因为它们都具有不同的值。我知道我可以用动画来做到这一点,但我更愿意这样做。

编辑:如果我可以通过将指针悬停在空单元格上来获取数据,并在将光标悬停在单元格上时将其隐藏起来,那就太好了,而不是按下按钮。

在任何情况下,当我在幻灯片放映期间对演示文稿进行任何更改时,更改都会在最后仍然存在,这意味着它只会起作用一次,然后我必须再次修复和隐藏所有值,有没有办法在演示结束时恢复演示文稿期间所做的更改?

EN

回答 2

Stack Overflow用户

发布于 2016-10-11 15:20:06

通过传递对要处理的表和单元格的引用,您可以添加您的sub并从另一个过程调用它,如下所示:

代码语言:javascript
运行
复制
Sub FormatTableCell(oTbl As Shape, lRow As Long, lCol As Long)

  With oTbl.Cell(lRow, lCol).Shape.TextFrame.TextRange
    .Text = "4500-9000"
    .Font.Size = 12
    .Font.Color = vbRed
  End With

End Sub

例如:

代码语言:javascript
运行
复制
With ActivePresentation    
  FormatTableCell .Slides(1).Shapes("MyTable"), lRow:=1, lCol:=1
End With

关于悬停和悬停的触发器,这是PowerPoint的一个棘手的方面。当悬停在形状上时,有一个用于运行代码的触发器,但没有用于悬停在形状之外的触发器。要实现后者,您可以在幻灯片的后层放置一个透明矩形,并使用该矩形通过将悬停在宏上链接到悬停触发器来欺骗它。编写您的代码,并使用插入/操作/鼠标通过函数来触发您的VBA过程,签名如下:

代码语言:javascript
运行
复制
Public Sub FormatThisTable(oTbl As Shape)

请注意,此方法只传递形状(在本例中为表格),而不传递鼠标悬停在其上的单元格。我认为您可以实现的唯一方法是使用许多非常复杂的Windows来检测鼠标光标相对于表格屏幕坐标的位置。

另一种方法可以是将表格解组为一组单独的形状,或者使用上面的鼠标输入/输出技术为需要显示/隐藏和管理其可见性属性的每个单元格创建封面形状。

对于最后一点,您将需要使用应用程序级事件,这需要类模块中的代码,这是一篇很好的文章,向您展示了如何:

http://www.pptfaq.com/FAQ00004_Make_your_VBA_code_in_PowerPoint_respond_to_events.htm

票数 0
EN

Stack Overflow用户

发布于 2016-10-18 02:49:01

步骤1启动PowerPoint并打开包含要隐藏的行的PPTX文件。在屏幕左侧的幻灯片窗格中单击相应的幻灯片。步骤2双击幻灯片上的电子表格,这将允许您对其进行编辑。选择要隐藏的行。单击“主页”选项卡,找到“单元”部分。单击“Format”选项,将显示可用功能列表。步骤3将指针放在“可见性”部分的“隐藏和取消隐藏”列表上。单击“隐藏行”选项以隐藏所选行。在电子表格外部单击以返回到PowerPoint幻灯片。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39952168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档