Получить картинки из документа 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

Оцени полезность:

14   голосов , оценка 4.214 из 5