妈的,研究了一个晚上,终于搞定了。
代码如下:
'开始别忘了导入这两个东东
'导入Word类库
Imports Microsoft.Office.Core
Imports Word
Public Class Form1
'提取过程
Sub FuckWord()
'定义Word程序
Dim oWordApplic As Word.Application = New Word.Application
'定义文档
Dim oDocument As Word.Document
'定义区域
'Dim oRange As Word.Range
'定义文件路径
Dim WordFilePath As String = "D:\客观题.doc"
'默认的参数
Dim isReadOnly As Boolean = False '只读
Dim isVisible As Boolean = True '程序是否可见
Dim missing = System.Reflection.Missing.Value
'打开Word文档
oDocument = oWordApplic.Documents.Open(WordFilePath, missing, isReadOnly, missing, missing, missing, missing, missing, missing, missing, missing, isVisible, missing, missing, missing, missing)
'激活程序
oDocument.Activate()
'此处我选择特定的表格列,起始编号不是0,而是1
oDocument.Tables(1).Cell(6, 2).Select()
'这句是把边框去掉,方法就是少选一个最后的回车符。
oDocument.Range(oWordApplic.Selection.Range.Start, oWordApplic.Selection.Range.End - 1).Select()
'复制选择内容
oWordApplic.Selection.Copy()
'粘贴内容
Me.RichTextBox1.Paste()
'遍历每个InlineShapes
For Each Il As InlineShape In oRange.InlineShapes
If Il.Type = WdInlineShapeType.wdInlineShapePicture Then '判断类型(共11种类型 类型说明见后)
Il.Select() '先选择(很重要,必须的步骤)
oWordApplic.Selection.CopyAsPicture() '选择拷贝至剪贴板
Me.PictureBox1.Image = My.Computer.Clipboard.GetImage '从剪贴板获取
End If
Next
'关闭当前文档
oDocument.Close(Word.WdSaveOptions.wdDoNotSaveChanges)
'关闭所有文档
'oWordApplic.Documents.Close(Word.WdSaveOptions.wdDoNotSaveChanges)
'退出程序
oWordApplic.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject(oWordApplic)
oWordApplic = Nothing
'wdInlineShapeEmbeddedOLEObject 嵌入式OLE对象
'wdInlineShapeHorizontalLine 水平线
'wdInlineShapeLinkedOLEObject 链接式OLE对象
'wdInlineShapeLinkedPicture 链接式图片
'wdInlineShapeLinkedPictureHorizontalLine(不知道什么鬼玩意)
'wdInlineShapeOLEControlObject OLE控制对象
'wdInlineShapeOWSAnchor OWS锚点
'wdInlineShapePicture 嵌入式图片
'wdInlineShapePictureBullet 图片占位符
'wdInlineShapePictureHorizontalLine (不知道什么鬼玩意)
'wdInlineShapeScriptAnchor (不知道什么鬼玩意)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Call FuckWord()
End Sub