none
Exportar un datagridview a word en una tabla Dinamica

    Pregunta

  • Me pueden ayudar.

    Private Sub EquiposDisponiblesToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EquiposDisponiblesToolStripMenuItem.Click
            Dim MsWord As Object                        'Crea un objeto
            MsWord = CreateObject("Word.Application")   'Instancia el objeto
            MsWord.visible = False                      'Oculta Word
            MsWord.Documents.Add()                      'Abrir un documento


            With MsWord.selection               'Bloque de instrucciones

                .paragraphformat.alignment = 1  'Alinea centro
                .font.Bold = True               'Negrilla
                .typetext("INFORME DE EQUIPOS DISPONIBLEN EN BDODEGA ")              'Texto que aparece en word
                .typeparagraph()                'Salto de línea
                .typeparagraph()
                .paragraphformat.alignment = 3
                .font.Bold = False
                .typetext("CARNET: ")
                .typeparagraph()
                .paragraphformat.alignment = 3
                .font.Bold = False

                .typeparagraph()
                .typeparagraph()
                .typeparagraph()
                .paragraphformat.alignment = 3
                .font.Bold = False
                .typetext("USUARIO DE INGRESO    FECHA DE INGRESO     ÍTEM         SERIAL          MODELO")
                .typeparagraph()
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ESTA PARTE ES LA QUE QUIERO QUE  /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////QUE EN UNA TABLA ME AYUDAN.
                For i = 0 To BODEGADataGridView.Rows.Count - 1
                    .typetext("" + BODEGADataGridView.Rows(i).Cells(0).Value + "                             ")
                    .typetext("" + BODEGADataGridView.Rows(i).Cells(1).Value + "                  ")
                    .typetext("" + BODEGADataGridView.Rows(i).Cells(2).Value + "          ")
                    .typetext("" + BODEGADataGridView.Rows(i).Cells(3).Value + "                ")
                    .typetext("" + BODEGADataGridView.Rows(i).Cells(4).Value + "                 ")
                    .typeparagraph()
                Next

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            End With
            MsWord.visible = True
        End Sub

    martes, 20 de abril de 2010 1:52

Respuestas

  • hola

    no se si sera el mejor link, pro podrias sacar algunos puntos en claro

    http://social.msdn.microsoft.com/Forums/es-ES/vbes/thread/9029c870-ca0e-459e-b4f4-191814953cf8

    algo que no veo que hayas hecho es creado justamente la tabla

    en el ejemplo lo veras cuando hace

    Parrafo = Documento.Tables.Add(Documento.Range(0, 0), dgEmployees.ApproxCount + 1, dgEmployees.Columns.Count)

    por supuesto Parrafo es del tipo Microsoft.Office.Interop.Word.Table

    y a este le agrega luego las columnas y celdas con los datos, esto lo haceen el ciclo

     

    igualmente por ahi este bueno que le des una mirada al ejemplo de Enrique

    Cómo crear una tabla en Word con los datos de un objeto DataTable

    no se si quieres usar el DataTable, pero por ahi en el ejemplo puedas sacar algunas ideas, especialmente de como usar los objetos del API de Word

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 20 de abril de 2010 4:10
  • lo mejor sería que crearas la tabla como te comenta Leandro, pero viendo tu código, no sería mejor cambiar esos + por &??

     For i = 0 To BODEGADataGridView.Rows.Count - 1
                    .typetext("" & BODEGADataGridView.Rows(i).Cells(0).Value & "                             ")
                    .typetext("" & BODEGADataGridView.Rows(i).Cells(1).Value & "                  ")
                    .typetext("" & BODEGADataGridView.Rows(i).Cells(2).Value & "          ")
                    .typetext("" & BODEGADataGridView.Rows(i).Cells(3).Value & "                ")
                    .typetext("" & BODEGADataGridView.Rows(i).Cells(4).Value & "                 ")
                    .typeparagraph()
                Next


    Iván Noya Cendal
    http://www.seuvella.com

    Si la respuesta te ha ayudado, marcala.
    martes, 20 de abril de 2010 11:48

Todas las respuestas

  • hola

    no se si sera el mejor link, pro podrias sacar algunos puntos en claro

    http://social.msdn.microsoft.com/Forums/es-ES/vbes/thread/9029c870-ca0e-459e-b4f4-191814953cf8

    algo que no veo que hayas hecho es creado justamente la tabla

    en el ejemplo lo veras cuando hace

    Parrafo = Documento.Tables.Add(Documento.Range(0, 0), dgEmployees.ApproxCount + 1, dgEmployees.Columns.Count)

    por supuesto Parrafo es del tipo Microsoft.Office.Interop.Word.Table

    y a este le agrega luego las columnas y celdas con los datos, esto lo haceen el ciclo

     

    igualmente por ahi este bueno que le des una mirada al ejemplo de Enrique

    Cómo crear una tabla en Word con los datos de un objeto DataTable

    no se si quieres usar el DataTable, pero por ahi en el ejemplo puedas sacar algunas ideas, especialmente de como usar los objetos del API de Word

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 20 de abril de 2010 4:10
  • lo mejor sería que crearas la tabla como te comenta Leandro, pero viendo tu código, no sería mejor cambiar esos + por &??

     For i = 0 To BODEGADataGridView.Rows.Count - 1
                    .typetext("" & BODEGADataGridView.Rows(i).Cells(0).Value & "                             ")
                    .typetext("" & BODEGADataGridView.Rows(i).Cells(1).Value & "                  ")
                    .typetext("" & BODEGADataGridView.Rows(i).Cells(2).Value & "          ")
                    .typetext("" & BODEGADataGridView.Rows(i).Cells(3).Value & "                ")
                    .typetext("" & BODEGADataGridView.Rows(i).Cells(4).Value & "                 ")
                    .typeparagraph()
                Next


    Iván Noya Cendal
    http://www.seuvella.com

    Si la respuesta te ha ayudado, marcala.
    martes, 20 de abril de 2010 11:48