maurogsc.eu
|
![]() |
home ==> Excel: come fare per ==> UserForm: aggiungere il tasto Riduci ad icona(32/64 bit)
UserForm: aggiungere tasto Riduci ad
icona(32/64 bit)
- VBA
NOTA. La soluzione ed il codice sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dal codice o dalla soluzione proposta se usati impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare il codice o la soluzione in files importanti.
1 - Come aggiungere il tasto: Riduci ad icona sulla barra di una UserForm. Codice valido per sistemi operativi a 32 e 64 bit. Nel modulo di codice della UserForm:
#If Win64 Then
Private Declare PtrSafe Function FindWindow& Lib "user32" _
Alias "FindWindowA" (ByVal lpClassName$, _
ByVal lpWindowName$)
Private Declare PtrSafe Function SetWindowLong& Lib "user32" Alias _
"SetWindowLongA" (ByVal hWnd&, ByVal nIndex&, _
ByVal dwNewLong&)
Private Declare PtrSafe Function EnableWindow& Lib "user32" _
(ByVal hWnd&, ByVal fEnable&)
Private Declare PtrSafe Function ShowWindow& Lib "user32" _
(ByVal hWnd&, ByVal nCmdShow&)
#Else
Private Declare Function FindWindow& Lib "user32" _
Alias "FindWindowA" (ByVal lpClassName$, _
ByVal lpWindowName$)
Private Declare Function SetWindowLong& Lib "user32" Alias _
"SetWindowLongA" (ByVal hWnd&, ByVal nIndex&, _
ByVal dwNewLong&)
Private Declare Function EnableWindow& Lib "user32" _
(ByVal hWnd&, ByVal fEnable&)
Private Declare Function ShowWindow& Lib "user32" _
(ByVal hWnd&, ByVal nCmdShow&)
#End If
Private Sub UserForm_Initialize()
Dim lng As Long
lng = &H84C80080 Or _
&H20000 Or &H40000
SetWindowLong FindWindow( _
vbNullString, Me.Caption), -16, lng
EnableWindow FindWindow( _
vbNullString, Application.Caption), 1
End Sub
Private Sub UserForm_Activate()
Dim lng As Long
lng = FindWindow(vbNullString, Me.Caption)
ShowWindow lng, 0
SetWindowLong lng, -20, &H40101
ShowWindow lng, 1
End Sub
2 - Richiamare poi la UserForm in modalità vbModeless. Ad esempio in un modulo standard:
Public Sub m()
UserForm1.Show vbModeless
End Sub
Per ulteriori informazioni su Microsoft Excel ed il suo Visual Basic, utilizzate questo
forum:
http://social.answers.microsoft.com/Forums/it-IT/officeexcelit/threads
Ultimo aggiornamento di questa pagina: 07/12/2010 - mauro gamberini