Saludos amigos del foro, tengo un archivo que al abrirlo y luego mostrar el userform esta todo bien pero al cerrar con unload me se muestran junto al archivo otras dos hojas.
Sospecho que debido a que le aplique un codigo para minimizar y maximizar el userform este esta haciendo algo como eso pero no estoy seguro, pongo el codigo de min-max:
Option Explicit
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 GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'constantes
Private Const WS_OVERLAPPED = &H0&
Private Const WS_CAPTION = &HC00000
Private Const WS_SYSMENU = &H80000
Private Const WS_THICKFRAME = &H40000
Private Const WS_MINIMIZEBOX = &H20000
Private Const WS_MAXIMIZEBOX = &H10000
Const WS_OVERLAPPEDWINDOW = (WS_OVERLAPPED Or WS_CAPTION Or WS_SYSMENU Or WS_THICKFRAME Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX)
Private Const GWL_STYLE = (-16)
Sub Modifica_ventana_nvr(ByRef Titulo_Ventana As String)
SetWindowLong FindWindow("ThunderDFrame", Titulo_Ventana), GWL_STYLE, GetWindowLong(FindWindow("ThunderDFrame", Titulo_Ventana), GWL_STYLE) Or WS_OVERLAPPEDWINDOW
End Sub
Al inicializar el userform tengo esto:
Private Declare Function GetShortPathName _
Lib "kernel32" Alias "GetShortPathNameA" _
(ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal lBuffer As Long) As Long
Private Sub UserForm_Initialize()
Modifica_ventana_nvr Me.Caption
End Sub
Al cerrar el userform se ve esto:
Hay algo que este causando esto??
Agradezco vuestra gentil colaboracion
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Saludos amigos del foro, tengo un archivo que al abrirlo y luego mostrar el userform esta todo bien pero al cerrar con unload me se muestran junto al archivo otras dos hojas.
Sospecho que debido a que le aplique un codigo para minimizar y maximizar el userform este esta haciendo algo como eso pero no estoy seguro, pongo el codigo de min-max:
Option Explicit 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 GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 'constantes Private Const WS_OVERLAPPED = &H0& Private Const WS_CAPTION = &HC00000 Private Const WS_SYSMENU = &H80000 Private Const WS_THICKFRAME = &H40000 Private Const WS_MINIMIZEBOX = &H20000 Private Const WS_MAXIMIZEBOX = &H10000 Const WS_OVERLAPPEDWINDOW = (WS_OVERLAPPED Or WS_CAPTION Or WS_SYSMENU Or WS_THICKFRAME Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX) Private Const GWL_STYLE = (-16) Sub Modifica_ventana_nvr(ByRef Titulo_Ventana As String) SetWindowLong FindWindow("ThunderDFrame", Titulo_Ventana), GWL_STYLE, GetWindowLong(FindWindow("ThunderDFrame", Titulo_Ventana), GWL_STYLE) Or WS_OVERLAPPEDWINDOW End Sub
Al inicializar el userform tengo esto:
Private Declare Function GetShortPathName _ Lib "kernel32" Alias "GetShortPathNameA" _ (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal lBuffer As Long) As Long Private Sub UserForm_Initialize() Modifica_ventana_nvr Me.Caption End Sub
Al cerrar el userform se ve esto:
Hay algo que este causando esto??
Agradezco vuestra gentil colaboracion