English 中文(简体)
VB. 单列文件中的页数字数
原标题:VB.Net Split word document into separate documents(pagebreak as delimiter)

A word document has several pages. How to split this pages into separate documents using VB.Net ?

我希望这一进程自动化。

I used ms tutorial for basic learning: http://support.microsoft.com/kb/316383 But i do not know how to find page breaks in a document and move content of that page to separate document.

最佳回答

解决办法:

Private Sub ParseWordDoc(ByVal Filename As String, ByVal NewFileName As String)
    Dim WordApp As Microsoft.Office.Interop.Word.Application = New Microsoft.Office.Interop.Word.Application()
    Dim BaseDoc As Microsoft.Office.Interop.Word.Document
    Dim DestDoc As Microsoft.Office.Interop.Word.Document

    Dim intNumberOfPages As Integer
    Dim intNumberOfChars As String
    Dim intPage As Integer

     Word Constants
    Const wdGoToPage = 1
    Const wdStory = 6
    Const wdExtend = 1
    Const wdCharacter = 1

     Show WordApp
    WordApp.ShowMe()

     Load Base Document
    BaseDoc = WordApp.Documents.Open(Filename)
    BaseDoc.Repaginate()

     Loop through pages
    intNumberOfPages = BaseDoc.BuiltInDocumentProperties("Number of Pages").value
    intNumberOfChars = BaseDoc.BuiltInDocumentProperties("Number of Characters").value

    For intPage = 1 To intNumberOfPages
        If intPage = intNumberOfPages Then
            WordApp.Selection.EndKey(wdStory)
        Else
            WordApp.Selection.GoTo(wdGoToPage, 2)
            Application.DoEvents()

            WordApp.Selection.MoveLeft(Unit:=wdCharacter, Count:=1)
        End If

        Application.DoEvents()

        WordApp.Selection.HomeKey(wdStory, wdExtend)
        Application.DoEvents()

        WordApp.Selection.Copy()
        Application.DoEvents()

         Create New Document
        DestDoc = WordApp.Documents.Add
        DestDoc.Activate()
        WordApp.Selection.Paste()
        DestDoc.SaveAs(NewFileName & intPage.ToString & ".doc")
        DestDoc.Close()
        DestDoc = Nothing

        WordApp.Selection.GoTo(wdGoToPage, 2)
        Application.DoEvents()

        WordApp.Selection.HomeKey(wdStory, wdExtend)
        Application.DoEvents()

        WordApp.Selection.Delete()
        Application.DoEvents()
    Next

    BaseDoc.Close(False)
    BaseDoc = Nothing

    WordApp.Quit()
    WordApp = Nothing
End Sub

贷项转入“Jaylin Tap

问题回答

暂无回答




相关问题
Is Shared ReadOnly lazyloaded?

I was wondering when I write Shared ReadOnly Variable As DataType = New DataType() Or alternatively Shared ReadOnly Variable As New DataType() Is it lazy loaded or as the instance initializes? ...

Entertaining a baby with VB.NET

I would like to write a little application in VB.NET that will detect a baby s cry. How would I get started with such an application?

Choose Enter Rather than Pressing Ok button

I have many fields in the page and the last field is a dropdown with list of values. When I select an item in a dropdown and press Enter, it doesn t do the "Ok". Instead I have to manually click on Ok ...

ALT Key Shortcuts Hidden

I am using VS2008 and creating forms. By default, the underscore of the character in a textbox when using an ampersand is not shown when I run the application. ex. "&Goto Here" is not ...

Set Select command in code

On button Click I want to Set the Select command of a Gridview. I do this and then databind the grid but it doesn t work. What am i doing wrong? protected void bttnView_Click(object sender, ...

Hover tooltip on specific words in rich text box?

I m trying to create something like a tooltip suddenly hoovering over the mouse pointer when specific words in the richt text box is hovered over. How can this be done?

热门标签