Visual Basic - Abrir archivo en Excel

Life is soft - evento anual de software empresarial
 
Vista:

Abrir archivo en Excel

Publicado por ALH (278 intervenciones) el 06/09/2002 19:39:07
Q tal...

A ver si me pueden ayudar...

Quier abrir un archivo de excel (.xls) desde mi aplicacion. El archivo ya existe, inclusive tengo el nombre y la ruta, pero como le hago para abrirlo, he intentado varias cosillas pero a lo mas q he llegado es a abrir el mismo excel sin q me muestre el archivo que le especifico, lo raro es q no me indica ningun error, el procedimiento lo ejecuta muy bien, pero repito solo se abre excel sin el archivo.

Alguien me puede decir como le hago, q utilizo o si tienes algun programita de ejemplo, se lo agradeceria mucho.

Ademas, me gustaria saber si desde Access puedo hacer lo mismo (abrir un archivo de excel).

Resulta q tengo una BD hecha en access y hay un campo q contiene el nombre del archivo (.xls), me gustaria q ese archivo se abriera cuando el usuario lo seleccione, pero repito esto desde Access, ahi si no tengo mucha idea de como hacerlo, en un principio pense utilizar el Edito de Visual basic que se encuentra en Access pero no se si sea lo mas correcto.

Otra vez muchas gracias....desde ya...

Saludos!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Abrir archivo en Excel

Publicado por txibit.es.fm (29 intervenciones) el 06/09/2002 23:47:32
Seólo tienes que utilizar la api shellexecute, de la forma:

private sub AbrirArchivo()
Dim Ruta As String
Dim Numero As Long

Ruta = "C:\ArchivoExcel.xls"
Numero = ShellExecute(hwnd, "open", Ruta, vbNullString, vbNullString, conSwNormal)
If Numero < 10 Then
MsgBox "No se ha encontrado el archivo de instalación", vbInformation, "Error"
End If
End Sub

Lógicamente, necesitas declarar en un módulo la API:

Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Const conSwNormal = 1

En access se puede hacer exactamente igual (desde un botón de un formulario, por ejemplo).

Salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar