cuando no existe el COMDLG en windows 7
Publicado por hugo a sanchez (1 intervención) el 12/07/2016 17:43:07
tengo una macro de excel donde debo de leer varios archivos excel, al no estar el COMDLG32.OCX use el codigo de excel, Application.GetOpenFilename
al final necesito solo la ruta RutaArch1
If VBA.Val(Application.Version) < 12 Then
ExcelStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source = '" & RutaArch1 & "''';" & _
"Extended Properties=""Excel 8.0;HDR=No;IMEX=1"";"
ElseIf VBA.Val(Application.Version) < 14 Then
ExcelStr = "Provider=Microsoft.Jet.OLEDB.12.0;" & _
"Data Source = '" & RutaArch1 & "';" & _
"Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Else
ExcelStr = "Provider=Microsoft.ACE.OLEDB.12.0;;" & _
"Data Source = '" & RutaArch1 & "';" & _
"Extended Properties=""Excel 12.0;HDR=YES;\"";"
End If
y dependiendo de la version del excel abro el proveedor especifico
1
2
3
4
Cells(12, 6).Value = Application.GetOpenFilename( _
"Excel Files(*.xls;*.xlsx;*.xlsm;*.xla;*.xlam),*.xls;*.xlsx;*.xlsm;*.xla;*.xlam", , _
"Selecccione el archivo Accountentry Blotter a cargar:")
RutaArch1 = Cells(12, 6).Value
al final necesito solo la ruta RutaArch1
If VBA.Val(Application.Version) < 12 Then
ExcelStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source = '" & RutaArch1 & "''';" & _
"Extended Properties=""Excel 8.0;HDR=No;IMEX=1"";"
ElseIf VBA.Val(Application.Version) < 14 Then
ExcelStr = "Provider=Microsoft.Jet.OLEDB.12.0;" & _
"Data Source = '" & RutaArch1 & "';" & _
"Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Else
ExcelStr = "Provider=Microsoft.ACE.OLEDB.12.0;;" & _
"Data Source = '" & RutaArch1 & "';" & _
"Extended Properties=""Excel 12.0;HDR=YES;\"";"
End If
y dependiendo de la version del excel abro el proveedor especifico
Valora esta pregunta


0