Получить картинки из документа MS Word - Visual Basic .NET
Формулировка задачи:
Здравствуйте, помогите пожалуйста со следующей задачей. Мне нужно "вытащить" все картинки из документа Word и занести их в ячейки грида.
Через гугл нашел следующий способ:
Даже если в PictureBox и появляется картинка, то она далеко не последняя в документе, что говорит о том, что не все изображения обрабатываются.
В датагриде заполняется только одна ячейка, и не картинкой, а надписью System.Drawing.Bitmap.
Заранее спасибо.
Решение задачи: «Получить картинки из документа MS Word»
textual
Листинг программы
Imports WRD = Microsoft.Office.Interop.Word '
Imports System.IO
Public Class Form4
Private wApp As WRD.Application 'Word2003
Private wDoc As WRD.Document '*.doc
Private Sub Form4_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
wApp = New WRD.Application
wDoc = wApp.Documents.Open(Path.Combine(Application.StartupPath, "tst1.doc"))
wApp.Visible = True
'wApp.Visible = False
DataGridView1.Columns.Add("NN", "NUM")
DataGridView1.Columns.Add(New DataGridViewImageColumn)
DataGridView1.Columns(1).Name = "IMAGE"
DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim tp As WRD.WdInlineShapeType
Dim ii As Integer
For Each sh As WRD.InlineShape In wDoc.InlineShapes
tp = sh.Type
If tp = WRD.WdInlineShapeType.wdInlineShapePicture Then
ii += 1
sh.Select()
wApp.Selection.CopyAsPicture()
DataGridView1.Rows.Add({ii.ToString, Clipboard.GetImage})
End If
Next
End Sub
End Class