是否可以在Microsoft.Office.Interop.PowerPoint.Table中获取选定的单元格?

时间:2011-07-13 15:16:08

标签: c# powerpoint office-interop office-2007

我在powerpoint文档中有一张表 (表格类型:http://msdn.microsoft.com/en-us/library/microsoft.office.interop.powerpoint.table.aspx

我想要获得的是获取用户选择的单元格集合。 if myPres.Application.ActiveWindow.Selection.ShapeRange.Type == Microsoft.Office.Core.MsoShapeType.msoTable

然后我可以通过以下方式获取选定的表: myPres.Application.ActiveWindow.Selection.ShapeRange.Table 财产,但我无法看到是否有任何关于选定单元格的信息。

更新

正如@SteveRindsberg所指出的,我应该提一下我正在使用的办公室版本。在我的案例中是Office 2007。 最简单的答案(再次感谢@SteveRindsberg)我的问题是:每个单元格都有选择的布尔属性

1 个答案:

答案 0 :(得分:2)

提及您正在使用哪个版本的PowerPoint总是一个好主意,因为有些东西(其中的表格)已经从一个版本到另一个版本以主要方式发生了变化。

以下是一些可能有用的提示:

如果用户选择了多个单元格,则ActiveWindow.Selection.Type将= ppSelectionShapes 要确定选择了哪些单元格,请遍历表格中的所有单元格并测试每个单元格的.Selected属性。

如果用户在单元格中选择了文本或只是在单元格内单击,则ActiveWindow.Selection.Type将= ppSelectionText

ActiveWindow.Selection.TextRange.Text为您提供所选文本,但在PPT 2007及更高版本中,OM已损坏。你应该能够从那里走上.Parent链到达父细胞或形状,但你不能。但是,您仍然可以遍历单元格并查找.Selected = True。