"Text Box Vertical Alignment" 到 "Middle" 通过 vba 宏在 PowerPoint 中选定的行
"Text Box Vertical Alignment" to "Middle" for a selected rows in PowerPoint through vba macro
我想创建一个宏,将 PowerPoint table 中所选 rows/cells 的“垂直对齐”更改为“中间”。谁能帮我解决这个问题。
下面附上示例快照。
下面是代码。我的代码可以完美地处理形状,但无法处理 tables。请协助。
ActiveWindow.Selection.ShapeRange.TextFrame2.VerticalAnchor = msoAnchorMiddle
要处理 table 您不能使用形状对象,但需要使用表格。
您也可以仅逐个单元格格式化,因此您需要 运行 遍历所有行和列
-----已编辑-----
要使用选定的单元格,您必须遍历所有单元格并查看它们是否被选中
Sub SelectedCells()
Dim oTbl As table
Dim iIdx As Integer
Dim iIdy As Integer
Set oTbl = ActiveWindow.Selection.ShapeRange(1).table
For iIdx = 1 To oTbl.Rows.Count
For iIdy = 1 To oTbl.Columns.Count
If oTbl.Cell(iIdx, iIdy).Selected Then
With oTbl.Cell(iIdx, iIdy).Shape
.TextFrame.VerticalAnchor = msoAnchorTop
End With
End If
Next
Next
End Sub
下面附上示例快照。
下面是代码。我的代码可以完美地处理形状,但无法处理 tables。请协助。
ActiveWindow.Selection.ShapeRange.TextFrame2.VerticalAnchor = msoAnchorMiddle
要处理 table 您不能使用形状对象,但需要使用表格。 您也可以仅逐个单元格格式化,因此您需要 运行 遍历所有行和列
-----已编辑-----
要使用选定的单元格,您必须遍历所有单元格并查看它们是否被选中
Sub SelectedCells()
Dim oTbl As table
Dim iIdx As Integer
Dim iIdy As Integer
Set oTbl = ActiveWindow.Selection.ShapeRange(1).table
For iIdx = 1 To oTbl.Rows.Count
For iIdy = 1 To oTbl.Columns.Count
If oTbl.Cell(iIdx, iIdy).Selected Then
With oTbl.Cell(iIdx, iIdy).Shape
.TextFrame.VerticalAnchor = msoAnchorTop
End With
End If
Next
Next
End Sub