การอ่าน Microsoft Office Word จากตำแหน่งใน เอกสาร

1. Create New Project  ตามนี้


2. Create Form1 => Add Reference... ดังนี้


3. เลือก  Interop.Microsoft.office Interop.Word ดังนี้



4. เตรียมเอกสารใ้ห้พร้อม ตัวอย่างได้สร้างไว้ที่  D:\Test_Word.docx


5. เขียน Code ตามนี้

Imports Microsoft.Office.Interop.Word
Imports Microsoft.Office.Interop

Public Class Form1
    Private WdApp As New Application
    Private WdDoc As Word.Document

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'Dim dt_Word As DataTable
        Dim pathWord As String = "D:\Test_Word.docx"
        Dim word As String
        WdDoc = WdApp.Documents.Open(pathWord)
        'WdApp.Visible = False
        Threading.Thread.Sleep(1000)

        word = GetWord(pathWord) 'Send file name process in getword
        ' Close process WinWord.exe
        WdDoc.Close()
        WdApp.Quit()

        TextBox1.Text = word
        MsgBox(word)
    End Sub

    Function GetWord(ByVal pathWord As String) As String
        Dim allPage As Integer
        Dim startPage As Integer
        startPage = WdApp.Selection.Range.Start
        allPage = WdApp.Selection.Range.StoryLength
        Dim word As String
        word = Character(startPage, allPage)
        Return word
    End Function

    Function Character(ByVal s As Integer, ByVal e As Integer) As String
        Dim _word As String = ""
        Dim range As Word.Range

        If s < e And s > -1 Then
            range = WdDoc.Range(Start:=s, End:=e)
            _word = range.Text
        End If
        Return _word
    End Function

    'Find location Word
    Function findWord_location() As Integer
        'กรณีต้องการหาตำแหน่ง ของตัวอักษร แทน startPage ก้อได้
        ' ตัวอักขระพิเศษของ MS Word ดูได้จาก http://support.microsoft.com/kb/214204
        ' ถ้ายังสงสัยลองกด Ctrl+F ใน MS Word Find what: ^t จะเจอ แต่ต้องมีเอกสารที่มี TAB ด้วยน่ะไม่งั้นไม่เจอน่ะ 555+
        ' ^t = TAB
        ' ^p = Enter

        WdDoc.Select()
        WdApp.Selection.Find.ClearFormatting()
        Dim wh As String = "^t" & "ข้อที่ 1"       'ต้องการหาคำที่ประกอบด้วย 1TAB ข้อที่ 1
        'Dim wh As String = "^t^t" & "ข้อที่ 2"    'ต้องการหาคำที่ประกอบด้วย 2TAB ข้อที่ 2

        With WdApp
            With .Selection.Find
                .Text = wh
                .Replacement.Text = ""
                .Forward = True
                .Format = True
                .MatchCase = False
                .MatchWholeWord = False
                .MatchWildcards = False
                .MatchSoundsLike = False
                .MatchAllWordForms = False
            End With
        End With

        Dim location As Integer
        If WdApp.Selection.Find.Execute = True Then
            location = WdApp.Selection.Range.Start
        End If

        Return location
    End Function
End Class

6. เมื่อ Run Program(F5) จะอ่านได้ดังนี้

7. ศึกษาเพิ่มเติมเรื่อง อักขระพิเศษใน MS Word ตาม Link นี้ค่ะ
    http://support.microsoft.com/kb/214204