¿Cómo eliminar eliminar el splash screen de excel? (DAM)

Saludos cordiales, maestro Dante.

Me puede indicar por favor los pasos para evitar que aparezca el splash screen al momento de abrir mi archivo, el plan es que solo se vean forms.

Gracias.

1 respuesta

Respuesta
1

Ya había revisado un caso anterior a esto que preguntas, y no es posible.

Otra opción es que busques en la red una herramienta para que convierta tu aplicación en un ejecutable; también he probado algunas herramientas gratis, sin resultado, por lo que te recomiendo que compres el software y entonces puedas convertir tu aplicación de formularios a un ejecutable, entonces ya no aparecerá excel.

Otra opción, más compleja, pero eficiente, es que programes todo directamente en Visual Basic, también tendrás que descargar el software de Visual Basic y crear los formularios, también podrás utilizar para guardar los datos un archivo de excel o bien lo puedes hacer en access.

De acuerdo,,¡Gracias!

Que tenga un excelente fin de semana! 

Hola, maestro Dante, muy buenas noches, espero que este de maravilla y gozando de perfecta salud acompañado de sus seres queridos.

Referente a mi pregunta, le comento que anduve investigando la forma y por fin lo conseguí, gracias al apoyo de Microsoft Windows y a estas API del sistema operativo MSDN, pude establecer mi propio form como mi splashscreen personalizado sin que aparezca el libro de excel.

Le comparto la macro, espero que le sea de utilidad.

'Para mostrar un UserForm sin barra de titulo necesitamos cuatro funciones API:


Const GWL_STYLE = -16
Const WS_CAPTION = &HC00000
#If VBA7 Then
Private Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare PtrSafe Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Private Declare PtrSafe Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
#Else
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
#End If

Private Sub UserForm_Initialize()
'Este código realiza el procedimiento de ocultar la barra de título, haciendo uso de las API
Dim lngWindow As Long, lFrmHdl As Long
lFrmHdl = FindWindowA(vbNullString, Me.Caption)
lngWindow = GetWindowLong(lFrmHdl, GWL_STYLE)
lngWindow = lngWindow And (Not WS_CAPTION)
Call SetWindowLong(lFrmHdl, GWL_STYLE, lngWindow)
Call DrawMenuBar(lFrmHdl)
'-----------------------------------------------------------------------------------------

'Cargamos el formulario y establecemos un timer para que se cierre automáticamente

Dim Contador, Maximo, Intervalo As Integer
Dim Inicio As Double
Dim X


Maximo = 300

Me.Show
For Contador = 1 To Maximo
Inicio = Timer
Do Until Timer - Inicio > Intervalo
X = DoEvents()
Loop
Me.lbl_Bar.Width = Contador
Me.lbl_Percent.Caption = "Cargando " & Format(Contador / Maximo, "Percent")
Next Contador
Frm_MenuPrincipal.Show

End

End Sub

Creé un aceso directo en el escritorio y desde ahí ejecuto mi apliación sin que se vea el excel y listo, funciona perfecto.

Nota: Trabajo con excel 2013 y funciona en plataformas de 32 y 64 bits.

Bueno, espero que le sirva, que pase un buena noche y hasta pronto.

Saludos cordiales.

H o l a:

Primeramente, gracias por los buenos deseos, igualmente espero que te encuentres muy bien.

Y segundo, gracias por el código. También espero que le sirva a la comunidad.

Sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas