• ¿Quieres apoyar a nuestro foro haciendo una donación?, entra aquí.

abrir un excel despues de ser creado en VB 2010

Vuvuzelo

Hij@'e Puta
Registrado
2010/06/21
Mensajes
5.725
Sexo
Macho
Hola!, encontré un código para exportar los datos desde una DataGridView a Excel, pero quiero que despues de creado lo abra, estoy topando en que no tengo el nombre exacto del .xls ya que debe ingresado por el usuario (así me lo pidieron). ¿alguien sabe la instrucción para que el archivo se abra una vez creado?, gracias de antemano!!

Código:
'Rutina que genera un archivo Excel desde la DataGridView, VarGrillaRutina trae el valor de la grilla desde el boton "generar informe".
    Public Sub Exportar_Excel(ByVal dgv As DataGridView, ByVal pth As String)

        ProgressBarEjec.Visible = True
        ProgressBarEjec.Value = 20


        Dim xlApp As Object = CreateObject("Excel.Application")
        'crear una nueva hoja de calculo
        Dim xlWB As Object = xlApp.WorkBooks.add
        Dim xlWS As Object = xlWB.WorkSheets(1)

        ProgressBarEjec.Value = 40

        'exportamos los caracteres de las columnas
        For c As Integer = 0 To VarGrillaRutina.Columns.Count - 1
            xlWS.cells(1, c + 1).value = VarGrillaRutina.Columns(c).HeaderText
        Next

        ProgressBarEjec.Value = 60

        'exportamos las cabeceras de columnas
        For r As Integer = 0 To VarGrillaRutina.RowCount - 1
            For c As Integer = 0 To VarGrillaRutina.Columns.Count - 1
                xlWS.cells(r + 2, c + 1).value = VarGrillaRutina.Item(c, r).Value
            Next
        Next

        ProgressBarEjec.Value = 80

        'guardamos la hoja de calculo en la ruta especificada
        xlWB.saveas(pth)
        xlWS = Nothing
        xlWB = Nothing
        xlApp.quit()
        xlApp = Nothing
        ProgressBarEjec.Value = 100

        MessageBox.Show("Los datos han sido exportados satisfactoriamnete.", "Generador de Informes VidaCel",
        MessageBoxButtons.OK, MessageBoxIcon.Information)

        ProgressBarEjec.Visible = False

    End Sub
 
no recuerdo el código exacto, pero puedes abrir el archivo con un comando cmd (necesitas la ruta completa del archivo).
y eso de que no tienes el nombre, no es traba, debes leer el campo donde el usuario ingresa el nombre del archivo, así de simple (ej. txtUsuario.text
 
Bro, ese es el problema, que no conoceré la ruta, ya que invoco al dialogo para que el usuario ponga el nombre del archivo y la ruta

Código:
Private Sub ButtonExportarEjeAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonExportarEjeAll.Click
        'Botón que llama a la función para exportar a excel

        VarGrillaRutina = DataGridEjecAll

        Dim save As New SaveFileDialog
        save.Filter = "Archivo Excel | *.xlsx"
        If save.ShowDialog = Windows.Forms.DialogResult.OK Then
            Exportar_Excel(Me.DataGridEjecAll, save.FileName)
        End If
    End Sub

entonces necesito que al crearse el archivo se abra de inmediato automagicamente.

Gracias!
 
Volver
Arriba