Condividi:        

cambio di focus tra applicazioni

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

cambio di focus tra applicazioni

Postdi teto021162 » 05/12/19 10:39

Salve a tutti,

nel mio lavoro ho aperto excel 2003 e il browser Opera.

Vorrei che in fondo ad una macro come ultima azione ci fosse un codice che portasse il browser Opera in primo piano.

Grazie a tutti

Teto
excel 2003 windows 10
teto021162
Utente Junior
 
Post: 61
Iscritto il: 08/08/19 16:24

Sponsor
 

Re: cambio di focus tra applicazioni

Postdi Marius44 » 05/12/19 11:42

Ciao
Sicuramente non ho capito ma se "minimizzi" il file Excel non ottiene quello che vuoi?

Ciao,
Mario
Marius44
Utente Senior
 
Post: 655
Iscritto il: 07/09/15 22:00

Re: cambio di focus tra applicazioni

Postdi teto021162 » 05/12/19 12:15

Grazie della risposta ma vorrei potermi spostare sul browser Opera senza rimpicciolire il file perchè quando ritorno su excel non vorrei ritrovarmelo ad icona e doverlo ampliare ma lo vorrei pronto all'uso a pieno schermo.
excel 2003 windows 10
teto021162
Utente Junior
 
Post: 61
Iscritto il: 08/08/19 16:24

Re: cambio di focus tra applicazioni

Postdi Anthony47 » 05/12/19 16:04

Metti in un Modulo standard inizialmente vuoto questo codice:
Codice: Seleziona tutto
Option Explicit
'Api:
Private Declare Function apiGetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal Hwnd As Integer, ByVal lpString As String, ByVal cch As Integer) As Integer
Private Declare Function apiGetWindow Lib "user32" Alias "GetWindow" (ByVal Hwnd As Integer, ByVal wCmd As Integer) As Integer
Private Declare Function apiGetDesktopWindow Lib "user32" Alias "GetDesktopWindow" () As Integer
Public Declare Function SetForegroundWindow Lib "user32.dll" (ByVal Hwnd As Long) As Long

 
Function SetWindow(ByVal myWinCap As String) As Boolean
Dim wStrLen As Long, Rispo
Dim wHandle As Long
Dim wHandleLen As Long
Dim cTxt As String * 255
    wHandle = apiGetWindow(apiGetDesktopWindow(), 5)
    Do While wHandle <> 0
        wStrLen = apiGetWindowText(wHandle, cTxt, 255)
        If InStr(1, cTxt, myWinCap, vbTextCompare) > 0 Then
            Rispo = SetForegroundWindow(wHandle)
            SetWindow = True
            Exit Do
        End If
        wHandle = apiGetWindow(wHandle, 2)
    Loop
End Function


Poi da una tua macro puoi chiamare la funzione SetWindow con questa sintassi:
Codice: Seleziona tutto
wSet = SetWindow("ParteDell'intestazioneDellaFinestraDesiderata")

Dichiara wSet come una variabile Boolean, e controlla che il risultato della call sia True, cosa che indica la corretta selezione della finestra

Tieni presente che non tutte le impostazioni di sicurezza di un Pc consentono di attivare una finestra che non sia parte o figlia dell'applicazione in corso; e' un vincolo di sicurezza.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: cambio di focus tra applicazioni

Postdi teto021162 » 05/12/19 17:25

Perfetto Anthony,
funziona tutto alla grande
Grazie
Teto :)
excel 2003 windows 10
teto021162
Utente Junior
 
Post: 61
Iscritto il: 08/08/19 16:24


Torna a Applicazioni Office Windows


Topic correlati a "cambio di focus tra applicazioni":


Chi c’è in linea

Visitano il forum: Nessuno e 29 ospiti