Saltar al contenido

Se presentan dos hojas mas al cerrar el userform

publicado

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

 

Pclass.JPG

Featured Replies

publicado
  • Autor

Ya,.... me da la sensacion de que el codigo que contiene el userform al terminar me genera esto pero no se porque, pues debido a que al abrir el archivo la aplicacion la escondia con un codigo y lo que queria que al terminar se activara. Pero al parecer este código lo que hace es generar dos hojas mas, cosa que no comprendo, en todo caso coloco el código:

Private Sub UserForm_Terminate()
Application.Visible = True
End Sub

 

publicado
  • Autor

Si lo he confirmado esto es lo que hace generar otras hojas aunque no entiendo la razon, 

Sin embargo el tema esta solucionado, Se puede cerrar el tema

Gracias

  • Silvia bloqueó este tema

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.