博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MsoShapeType /InlineShape枚举
阅读量:5993 次
发布时间:2019-06-20

本文共 2224 字,大约阅读时间需要 7 分钟。

指定形状的类型或形状范围。

名称

说明

msoAutoShape

1

自选图形。

msoCallout

2

标注。

msoCanvas

20

画布。

msoChart

3

图。

msoComment

4

批注。

msoDiagram

21

图表。

msoEmbeddedOLEObject

7

嵌入的 OLE 对象。

msoFormControl

8

窗体控件。

msoFreeform

5

任意多边形。

msoGroup

6

组合。

msoIgxGraphic

24

SmartArt 图形

msoInk

22

墨迹。

msoInkComment

23

墨迹批注。

msoLine

9

线条。

msoLinkedOLEObject

10

链接 OLE 对象。

msoLinkedPicture

11

链接图片。

msoMedia

16

媒体。

msoOLEControlObject

12

OLE 控件对象。

msoPicture

13

图片。

msoPlaceholder

14

占位符。

msoScriptAnchor

18

脚本定位标记。

msoShapeTypeMixed

-2

混和形状类型。

msoTable

19

表。

msoTextBox

17

文本框。

msoTextEffect

15

文本效果。

 

 

InlineShape表示的类型其实不只是图片,还包括OLE, ACTIVE X等。 

下面是MSDN中的定义:Represents an object in the text layer of a document(表示文档中文本层的一个对象)。 
可以通过InlineShape的Type属性获得这个对象的具体类型。Type是一个WdInlineShapeType的枚举类型。WdInlineShapeType可以说下面的常数之一: 
wdInlineShapeEmbeddedOLEObject  嵌入式OLE对象 
wdInlineShapeHorizontalLine              水平线 
wdInlineShapeLinkedOLEObject         链接式OLE对象 
wdInlineShapeLinkedPicture               链接式图片 
wdInlineShapeLinkedPictureHorizontalLine(…) 
wdInlineShapeOLEControlObject        OLE控制对象 
wdInlineShapeOWSAnchor                OWS锚点 
wdInlineShapePicture                         嵌入式图片 
wdInlineShapePictureBullet                 图片占位符 
wdInlineShapePictureHorizontalLine    (…) 
wdInlineShapeScriptAnchor          (…) 
设置图片的“版式”为嵌入式那么这个图片在WORD文档中就用InlineShape来表示,而Shape表示的图片格式是其他的版式,处于Drawing层。不过其他的特性基本上是一致的。 
  
下面是要用到的一些变量:(初始化部分没有写) 
ApplicationClass wordApp; 
Document wordDoc; 
object missing; 
List<InlineShape> allShape;    //用InlineShape类型保存图片 
List<Image> allImage;          //用Image类型保存图片 
  
先来看看提取InlineShape的步骤: 
1.返回当前文档中所有InlineShapes。如果是嵌入式图片就加入集合中。 
InlineShapes insh = le="COLOR: black">wordDoc.InlineShapes; 
for (int i = 0; i < insh.Count; i++) 
if (insh[i].Type == WdInlineShapeType.wdInlineShapePicture) 
allShape.Add(insh[i]); 
2.先选中一个图片,再通过Selection发送到剪贴板,再从剪贴板得到一个图片对象。 
Microsoft.Office.Interop.Word.Selection sel; 
System.Drawing.Image returnImage = null; 
foreach (InlineShape ins in allShape) 
ins.Select(); 
sel = wordApp.Selection; 
if (sel.Type == WdSelectionType.wdSelectionInlineShape) 
sel.CopyAsPicture(); 
if (Clipboard.ContainsImage()) 
returnImage = Clipboard.GetImage(); 
allImage.Add(returnImage); 
  
下面是保存图片到文件中,Image类型的Save方法可以完成这个工作。文件类型可以说JPG,GIF,BMP等。 
int i = 0; 
foreach (Image im in allImage) 
im.Save("c://图片" + i.ToString() + ".jpg",ImageFormat.Jpeg); 
i++; 

转载地址:http://eftlx.baihongyu.com/

你可能感兴趣的文章
C#编程(十三)----------方法重载
查看>>
未安装Silverlight托管包
查看>>
GentleNet使用之详细图解[语法使用增强版]
查看>>
ios将摄像头捕获的视频数据转为jpeg格式
查看>>
php进程的SIGBUS故障
查看>>
telnet测试制定地址端口号
查看>>
保持Service不被Kill掉的方法--双Service守护 && Android实现双进程守护
查看>>
android 截取指定位置字符串
查看>>
李洪强iOS开发之initWithFrame,initWithCoder和aweakFormNib
查看>>
Android ActivityManager.killBackgroundProcesses方法去结束
查看>>
数据库设计原则(转载)
查看>>
MySQL 触发器简单实例
查看>>
Elasticsearch基本概念及核心配置文件详解
查看>>
一次使用Python连接数据库生成二维码并安装为windows服务的工作任务
查看>>
ios_基础篇1_关键字(strong和weak)
查看>>
PageControl
查看>>
我的友情链接
查看>>
远程桌面用户输入法的配置
查看>>
【Getty】Java NIO框架设计与实现
查看>>
常用监控命令工具-----vmstat
查看>>