Como abrir un archivo excel desde power builder

Tengo un archivo de excel con información que deseo mostrar ahí mismo, dándole click a un botón en power builder. Espero que me puedan ayudar. Solo necesito abrir el archivo ya existente.
Encontré que puedo utilizar ShellExecute() pero no se como utilizarlo.

1 Respuesta

Respuesta
1
El ShellExecute lo que te hará es abrirte el Microsoft Excel con el fichero abierto. Es decir, como si le dieras doble-click al fichero en el Explorador de Windows.
Para utilizar el ShellExecute, ve a declarar una función externa (donde se declaran las variables locales, globales, etc... ahí se declaran las ExternalFunctions) y pon:
//------------------------------------------------------------------
FUNCTION long ShellExecute(ulong ihwnd,string lpszOp,string lpszFile,string lpszParams, string lpszDir,int wShowCmd ) LIBRARY "shell32.dll" ALIAS FOR "ShellExecuteW"
//------------------------------------------------------------------
Ahora en el botón que quieres utilizar pon:
Long  lRetorno
String  sError, sNulo
SetNull(sNulo)
// Se ejecuta la ruta pasada.
lRetorno = ShellExecute(Handle(this), sNulo, "C:\MiFichero.xls", sNulo, sNulo, 3)
//El último argumento es el estilo de la ventana:
//#define SW_HIDE 0
//#define SW_SHOWNORMAL 1
//#define SW_NORMAL 1
//#define SW_SHOWMINIMIZED 2
//#define SW_SHOWMAXIMIZED 3
//#define SW_MAXIMIZE 3
//#define SW_SHOWNOACTIVATE 4
//#define SW_SHOW 5
//#define SW_MINIMIZE 6
//#define SW_SHOWMINNOACTIVATE 7
//#define SW_SHOWNA 8
//#define SW_RESTORE 9
//#define SW_SHOWDEFAULT 10
//#define SW_MAX 10
IF lRetorno <= 32 THEN
// Hay error
CHOOSE CASE lRetorno
CASE 2
sError = "Fichero no encontrado"
CASE 3
sError = "Ruta no encontrada"
CASE 5
sError = "Acceso denegado"
CASE 8
sError = "Fuera de memoria"
CASE 32
sError = "DLL no encontrada"
CASE 26
sError = "A sharing violation occurred"
CASE 27
sError = "Asociación a fichero no válida o incompleta"
CASE 28
sError = "DDE Time out"
CASE 29
sError = "DDE transaction failed"
CASE 30
sError = "DDE busy"
CASE 31
sError = "No existe ninguna asociación a la extensión del fichero"
CASE 11
sError = "Invalid EXE file or error in EXE image"
CASE ELSE
sError = "Error desconocido"
END CHOOSE
 Messagebox("Error..." + String(lRetorno),sError)
 Return -1
END IF
Con esto puedes hacer que el botón te abra el fichero que tu quieras. Como si es un mp3, un doc, un pdf, o un avi. El sistema lo ejecutará con lo que tenga predefinido para abrirlo. Lo recomendable es que te lleves este código a una función global, para poder llamarla desde donde quieras, y puedas abrir todo lo que quieras ;)
Ahora, si lo que quieres hacer es abrir el Excel dentro de unas de tus ventanas de PowerBuilder, ahí incrustrado, hay que hacer otra cosa.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas