Inicio > Ejemplos, office, Office 14, Office 2007, Office Open XML, OOXML, OpenXML, Word > [Word] Saber en que página esta el cursor en un Documento

[Word] Saber en que página esta el cursor en un Documento

Que tal, siguiendo con estos mini ejemplos de programación en Office, mientras pasa el tiempo, y en base a una pregunta eh aquí el como identificar en que página se encuentra el cursor en un Documento de Word.

El ejemplo siguiente es muy sencillo pero hice un menú para que pudieran apreciar el funcionamiento. Contiene un menú con las opciones:

  1. Abrir un Documento
  2. Mover el Cursor
  3. Cerrar Documento

El código es el siguiente.

Imports Word = Microsoft.Office.Interop.Word

Module Module1

    Public word As Word.Application
    Sub Main()
        word = New Word.Application
        Menu()
        Dim valor As Integer
        Do
            Try
                valor = Integer.Parse(Console.ReadLine())
            Catch ex As Exception
                Console.WriteLine(ex.Message)
            End Try
            Proceso(valor)
            Console.Clear()
            Menu()
        Loop While valor <> 4

    End Sub

    Public Sub Menu()
        Console.WriteLine("1.- Abrir Documento")
        Console.WriteLine("2.- Mover Cursor")
        Console.WriteLine("3.- Cerrar el Documento")
        Console.WriteLine("4 Cerrar Aplicación")
        Console.Write("Selecciona alguna Opción :")
    End Sub


    Public Sub AbrirDocumento(ByVal val As Boolean)

        If val = False Then
            word.Documents.Open("C:\Demo.docx")
            word.Application.Visible = True
        Else
            word = word.ActiveDocument.Application
            For i As Integer = 1 To word.Selection.Information _
                (Microsoft.Office.Interop.Word.WdInformation.wdNumberOfPagesInDocument)
                If word.Selection.Information _
                (Microsoft.Office.Interop.Word.WdInformation.wdActiveEndPageNumber) = i Then
                    Console.WriteLine("El Cursor esta en la página: {0} ", i)
                End If
            Next
        End If
    End Sub

    Public Sub CerrarDocumento()
        
        For Each doc As Word.Document In word.Documents
            doc.Close(SaveChanges:=False)
        Next
        word.Application.Quit()
        
    End Sub

    Public Sub Proceso(ByVal id As Integer)
        Select Case id
            Case 1
                AbrirDocumento(False)
            Case 2
                Console.Clear()
                AbrirDocumento(True)
                Console.ReadLine()
            Case 3
                CerrarDocumento()
        End Select
    End Sub

End Module

Explicando el Código.

El primer método es el de Menú, que solo contiene las opciones que se muestran en pantalla.

Lugo esta el método de Abrir un documento, que consta de 2 etapas en base a una condición sencilla, recibe un variable booleana que según el valor es la acción que realiza. Con la opción uno solo abre el documento llamad Demo.docx que esta en la unidad C. En la opción 2 muestra un mensaje en la consola que indica que página esta el puntero.

El método de Cerrar el documento. (Sin comentarios)

Por ultimo el de proceso que evalúa que es lo que el usuario eligió.

La parte importante de este post es el saber como identificar en que página esta el puntero y esto se encuentra en el método AbrirDocumento y el código es este:

 

For i As Integer = 1 To word.Selection.Information _
                (Microsoft.Office.Interop.Word.WdInformation.wdNumberOfPagesInDocument)
                If word.Selection.Information _
                (Microsoft.Office.Interop.Word.WdInformation.wdActiveEndPageNumber) = i Then
                    Console.WriteLine("El Cursor esta en la página: {0} ", i)
                End If
            Next

Que recorremos la cantidad total de páginas del documento y obtenemos en que página esta puntero con la instrucción:

word.Selection.Information _
                (Microsoft.Office.Interop.Word.WdInformation.wdActiveEndPageNumber)

Recuerden que para que funcione deben tener el archivo llama Demo.docx en su unidad D o colocar la ruta en donde se encuentre. Saludos.

@nor

Etiquetas de Technorati: ,,,
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: