'===评阅"在文档中插入艺术字"计算机应用",类型为第一行第三个,文本字体为隶书,字号40磅,加粗。"
If wrd.Documents("ed.doc").Shapes.Count >= 1 Then
For Each Sh1 In wrd.Documents("ed.doc").Shapes
If Sh1.Type = 15 Then
MsgBox Sh1.TextEffect.PresetTextEffect '选的是第一行第三个,理论上返回的是3,但返回的是-2,何解?
If Sh1.TextEffect.PresetTextEffect = msoTextEffect3 Then score = score + 1
If Sh1.TextEffect.Text = "计算机应用" Then score = score + 1
If Sh1.TextEffect.FontSize = 40# Then score = score + 1
If Sh1.TextEffect.FontName = "隶书" Then score = score + 1
If Sh1.TextEffect.FontBold = True Then score = score + 1
Text1.Text = score
End If
Next Sh1
End If
------解决方案--------------------------------------------------------
呵呵呵,做自动判卷系统哈。
艺术字在文档中不一定以 shape 的形式存在,就算你调用了 shapes.add 方法添加进去的,它依然有可能变成 inlineShape,高版本的word会这样做,可以节省空间。
------解决方案--------------------------------------------------------
教你个办法。到Word里面去录制宏,分析录下来的宏代码。你要什么数据都找得出来了