+ -
当前位置:首页 → 问答吧 → [求助]word2003中如何区别艺术字和图片?

[求助]word2003中如何区别艺术字和图片?

时间:2007-07-25

来源:互联网

有两个问题想请教:

1、如何判断word中插入的图片是我制定的图片(c:\temp\aaa.jpg)

2、在word2003中发现插入的艺术字默认是嵌入式的,我用Documents(1).Shapes(i).Type无法检测到艺术字;

而使用Documents(1).InlineShapes(1).Type的时候插入的图片和艺术字是一样的

在word2003中,我该如何判断我插入艺术字的样式、文本内容等

原来在word2000中可以使用Shapes(i).TextEffect.Text ; .Shapes(i).TextEffect.PresetTextEffect 等,而在2003中插入的艺术字默认是嵌入式的了!

谢谢了!

作者: mzgjingsi   发布时间: 2007-07-25

QUOTE:
以下是引用mzgjingsi在2007-7-25 15:56:19的发言:

有两个问题想请教:

1、如何判断word中插入的图片是我制定的图片(c:\temp\aaa.jpg)

2、在word2003中发现插入的艺术字默认是嵌入式的,我用Documents(1).Shapes(i).Type无法检测到艺术字;

而使用Documents(1).InlineShapes(1).Type的时候插入的图片和艺术字是一样的

在word2003中,我该如何判断我插入艺术字的样式、文本内容等

原来在word2000中可以使用Shapes(i).TextEffect.Text ; .Shapes(i).TextEffect.PresetTextEffect 等,而在2003中插入的艺术字默认是嵌入式的了!

谢谢了!

先应一下急:

'* +++++++++++++++++++++++++++++
'* Created By BANGONG@ExcelHome 2007-7-26 6:59:35
'仅测试于System: Windows NT Word: 11.0 Language: 2052
'№ 0246^The Code CopyIn [ThisDocument-ThisDocument]^'
'* -----------------------------
Sub Test()
    Dim myName As String, i As InlineShape
    On Error Resume Next
    For Each i In ActiveDocument.InlineShapes
        i.Select
        myName = Word.CommandBars.FindControl(ID:=2327).Caption
        MsgBox myName
        If VBA.InStr(myName, "艺术字") > 0 Then
        ElseIf VBA.InStr(myName, "对象") > 0 Then
        End If
    Next
End Sub
'----------------------
要取得图片路径,建议以链接方式插入图片(嵌入式),更复杂一些的,可以修改插入图片命令。

作者: 守柔   发布时间: 2007-07-26

谢谢守柔大大!

作者: mzgjingsi   发布时间: 2007-07-26

'在InlineShape对象中没有找到直接判断是否是艺术字的属性或方法,除了守柔版主的方法外,我再提供2个间接的方法供楼主参考(个人感觉Test2中的方法稍灵活一些)。

Sub Test1()
    Dim MyTextEF As TextEffectFormat
    On Error Resume Next
    Set MyTextEF = Selection.InlineShapes(1).TextEffect
    If Err.Number = 4680 Then
       MsgBox "所选区域第一个嵌入式图形不是艺术字"
    ElseIf Err.Number = 5941 Then
       MsgBox "所选区域中没有嵌入式图形"
    ElseIf Err.Number = 0 Then
       MsgBox "所选区域第一个嵌入式图形是艺术字"
    End If
End Sub


Sub Test2()
   Dim myShape As Shape
   On Error Resume Next
   Set myShape = Selection.InlineShapes(1).ConvertToShape
   If myShape.Type = msoTextEffect Then
       ActiveDocument.Undo
       MsgBox "所选区域第一个嵌入式图形是艺术字"
   Else
       ActiveDocument.Undo
       MsgBox "所选区域第一个嵌入式图形不是艺术字"
   End If
End Sub

作者: chylhr   发布时间: 2007-07-26

      赞成

作者: 冰水绿茶   发布时间: 2007-07-26

楼上的怎么就知道赞成!!!

[em06]

作者: lion1982921   发布时间: 2007-07-28

Shape1 = InlineShapes(1).ConvertToShape

作者: nplyh   发布时间: 2011-04-25

热门下载

更多