Haber aqui te mando esto, creas 2 sub y ejecuta en tu load el cargarExcel :
Metodo Reintenta
Código vb:
Ver originalPublic Sub reintenta(ByVal x As String, ByVal y As String, ByVal q As String, ByVal d As DataGridView)
Try
OpenFileDialog1.Title = "Abrir Archivos *.xls"
OpenFileDialog1.DefaultExt = "rpt"
OpenFileDialog1.Filter = "Excel Files|*.xls"
OpenFileDialog1.FilterIndex = 1
OpenFileDialog1.FileName = String.Empty
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
If OpenFileDialog1.FileName = "" Then
Return
End If
cargarExcel(OpenFileDialog1.FileName, y, z, d)
End If
Catch ex As Exception
MessageBox.Show(ex.Message.ToString(), "Error")
End Try
End Sub
Metodo cargarExcel :
Código vb:
Ver originalPublic Sub cargarExcel(ByVal sFileName As String, ByVal sSheetName As String, ByVal sRange As String, ByVal dv As DataGridView)
Dim d As String
d = Me.COMBOMOLDE.Text
Try
' // Comprobar que el archivo Excel existe
If System.IO.File.Exists(sFileName) Then
Dim objDataSet2 As System.Data.DataSet
Dim objDataAdapter2 As System.Data.OleDb.OleDbDataAdapter
' // Declarar la Cadena de conexión
Dim sCs As String = "provider=Microsoft.Jet.OLEDB.4.0; " & "data source=" & sFileName & "; Extended Properties=Excel 8.0;"
Dim objOleConnection2 As System.Data.OleDb.OleDbConnection
objOleConnection2 = New System.Data.OleDb.OleDbConnection(sCs)
' // Declarar la consulta SQL que indica el libro y el rango de la hoja
Dim sSql2 As String = "select * from " & "[" & sSheetName & "$" & sRange & "]" & "WHERE MOLDE= '" & d & " '"
' // Obtener los datos
objDataAdapter2 = New System.Data.OleDb.OleDbDataAdapter(sSql2, objOleConnection2)
' // Crear DataSet y llenarlo
objDataSet2 = New System.Data.DataSet
objDataAdapter2.Fill(objDataSet2)
' // Cerrar la conexión
objOleConnection2.Close()
' // Enlazar DataGrid al Dataset
With dv
.DataSource = objDataSet2
.DataMember = objDataSet2.Tables(0).TableName
End With
Else
MsgBox("No se ha encontrado el archivo:\n" & sFileName & "\nPor Favor Eliga la Nueva Ruta", MsgBoxStyle.Exclamation)
reintenta(sFileName, sSheetName, sRange, dv)
End If
'Exit Sub
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Espero haberte ayudado. Saludos!.