当前位置: 代码迷 >> VBA >> 读取艺术字类型异常
  详细解决方案

读取艺术字类型异常

热度:10419   发布时间:2013-02-26 00:00:00.0
读取艺术字类型错误
'===评阅"在文档中插入艺术字"计算机应用",类型为第一行第三个,文本字体为隶书,字号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里面去录制宏,分析录下来的宏代码。你要什么数据都找得出来了
  相关解决方案