试试这个 Sub Macro1() ActiveDocument.Shapes("WordArt 2").Select Dim myShape As Shape, s(4) As String For Each myShape In ActiveDocument.Shapes If myShape.Type = msoTextEffect Then s(0) = "名称:" & myShape.Name s(1) = "文本:" & myShape.TextEffect.Text s(2) = "字体:" & myShape.TextEffect.FontName s(3) = "字号:" & myShape.TextEffect.FontSize s(4) = "对齐方式:" & myShape.TextEffect.Alignment Dim intarr() As Integer If myShape.TextEffect.PresetTextEffect = msoTextEffectMixed Then MsgBox Join(s, vbCrLf) & vbCrLf Else intarr = ColRow(myShape.TextEffect.PresetTextEffect) MsgBox Join(s, vbCrLf) & vbCrLf & "位于第" & intarr(0) & "行;" & "第" & intarr(1) & "列" End If End If Next End Sub Function ColRow(i%) As Integer() Dim intarr() As Integer ReDim intarr(1) intarr(0) = Int(i / 6) + 1 intarr(1) = i Mod 6 + 1 ColRow = intarr End Function |