Ho caricato il seguente codice nel form1 dove la prima riga è stata modificata per un sistema a 64bit.
- Codice: Seleziona tutto
Private Declare PtrSafe Function SetWindowPos Lib "advapi32.dll" (ByVal HWND As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const HWND_TOP As Long = 0
Private Const HWND_TOPMOST As Long = -1
Private Const HWND_NOTOPMOST As Long = -2
Private Const SWP_NOMOVE As Long = &H2
Private Const SWP_NOSIZE As Long = &H1
Sub form_active()
SetWindowPos form1.HWND, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE
End Sub
Mentre in un modulo ho caricato il seguente codice che mi serve solo ad attivare il form1 in un secondo momento. Così ho il tempo di spostarmi in un altra applicazione e verificare se tutto funziona.
- Codice: Seleziona tutto
Sub Pulsante1_Click()
Dim INIZIO As Date
INIZIO = Range("M3")
Application.OnTime TimeValue(INIZIO), "PRIMO"
End Sub
Sub PRIMO()
form1.Show vbModeless
End Sub
Purtroppo lancio la macro a tempo, mi sposto in un altra applicazione e il form che si attiva rimane comunque in secondo piano cioè nel foglio excel, infatti se mi sposto in excel il form1 è presente. Qualcuno sa spiegarmi dove sbaglio. Grazie in anticipo.