Excel shapes与shaperange区别

如题所述

由 Shape 对象组成的集合,这些对象代表文档中或者文档页眉和页脚中的所有图形。每个 Shape 对象代表图形层中的一个对象,诸如自选图形、任意多边形、OLE 对象或图片等。

注意 如果需要处理文档图形的一个子集(例如只处理文档中的自选图形或仅处理选定的图形),就必须创建一个 ShapeRange 集合,以用该集合包含需要处理的图形。该集合代表所选内容或区域中的所有 Shape 对象
在WORD中,可以这样使用:
新增一个图片对象(图片是图形的一种):
Set MyPicture = .Shapes.AddPicture(FileName:=strBmp, _Left:=SLT, Top:=STP, Width:=PW, Height:=PH)
新增一个文本框对象
Set MyText = .Shapes.AddTextbox(msoTextOrientationHorizontal, SLT, STP + PH, PW, 25)
Private Sub App_WindowSelectionChange(ByVal Sel As Selection)
Dim SelShape As Shape, W As Single, H As Single, Hp As Single, Ht As Single
On Error Resume Next
'判断光标所在位置或者选中的类型是否为图形
If Selection.Type = wdSelectionShape Then
'如果是图片并且选中的图片项目只有一个(注意可以用shapgerange(item)返回选中的图形(图片)项目
If Sel.ShapeRange.Type = 6 And Sel.ShapeRange.Count = 1 Then
Set SelShape = Sel.ShapeRange(1)
'以下可以对该selshape对象进行设置
http://club.excelhome.net/thread-251648-1-1.html
图形对象攻略指引
经常有朋友抱怨图形对象不好用,太少的参考代码,摆脱不掉的Selection、看不见成员列表,繁琐的代码输入、组合……,本文将围饶图形对象的使用一一给出这些问题的解决策略。
温馨提示:答案为网友推荐,仅供参考
相似回答