Condividi:        

aprire sia il browser che una serie di file excel....

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

aprire sia il browser che una serie di file excel....

Postdi teto021162 » 07/12/19 18:34

salve a tutti,

vorrei con vba aprire sia il browser opera che una serie di file excel e poter terminare la procedura con un file di nome contabile attivo e aperto a video.

Fino ad ora l'apertura del browser prende il sopravvento su tutti gli altri file. Qualsiasi sequenza usata di apertura a macro terminata mi trovo sempre il bowser aperto a video a tutto schermo.

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

Sponsor
 

Re: aprire sia il browser che una serie di file excel....

Postdi Anthony47 » 09/12/19 12:58

Mi pare che il quesito verta solo su come attivare una specifica applicazione, non aprire Opera e file excel.
Il vba dispone dell'istruzione AppActivate, che teoricamente e' in grado di attivare un'applicazione; tipo:
Codice: Seleziona tutto
On Error Resume Next
AppActivate "Microsoft Excel"
AppActivate "Microsoft Word"
On Error GoTo 0
(da XL2010, il nome dell'applicazione e' solo Excel o Word)
On Error Resume Next /Goto 0 sono necessari (in alternativa a una gestione piu' sofisticata degli errori) perche' se l'applicazione non viene trovata AppActivate restituisce un run-time error

Ma tu hai gia' un'altra soluzione tra le mani, meno semplice ma forse piu' flessibile: la Function SetWindow (vedi viewtopic.php?f=26&t=110949#p651404)

Una volta inserito in "un Modulo standard inizialmente vuoto" il codice della funzione, nel tuo vba potrai scrivere
Codice: Seleziona tutto
Rispo = SetWindow("Chrome")
'. .
Rispo = SetWindow("Excel")
'. .

Sia con AppActivate che con SetWindow metti il focus sull'applicazione Excel (la cosa e' diversa per XL2013 e superiori), poi usera Workbooks(NomeFile.xlsm).Activate, per attivare uno specifico workbook.

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

Re: aprire sia il browser che una serie di file excel....

Postdi teto021162 » 09/12/19 16:37

A me non funziona nulla sotto il codice che uso + naturalmente il codice funzione inserito nel modulo vuoto

Codice: Seleziona tutto
Public Sub apri_opera()
Dim Programma As String
Dim wSet As Boolean
'Dim Rispo As Boolean

        Programma = "C:\Users\web\AppData\Local\Programs\Opera\launcher.exe" 'Da modificare col proprio percorso
        Shell Programma, vbMinimizedNoFocus
'Rispo = SetWindow("Microsoft Excel")
wSet = SetWindow("Microsoft Excel")

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

Re: aprire sia il browser che una serie di file excel....

Postdi Anthony47 » 10/12/19 01:45

A me non funziona nulla
Se non ti funziona niente allora il primo suggerimento e' di formattare il pc...
Se invece succede qualcosa ma non quello che desideri allora possiamo parlarne.

Ad esempio, supponendo che ti si apre Opera ma poi quella rimane la finestra attiva, allora la mia prima considerazione e' che il comando Shell e' asincrono, cioe' per il vba il comando si completa "immediatamente" e si passa all'istruzione successiva; col risultato che nella pratica il browser viene aperto dopo che il comando SetWindow e' stato eseguito; insomma dovresti attendere (dopo il comando Shell) che il browser si sia aperto e sia stabile; il modo piu' semplice e' con una Application.Wait. Durante le mie prove un tempo di 3 secondi sembra sufficiente.

Poi va notato che con vbMinimizedNoFocus Opera dovrebbe aprirsi ma in modalita' minimizzata; insomma non dovresti nemmeno vederla, con il focus che rimane su excel. Dovresti usare (per vederne la finestra) o vbNormalFocus oppure vbMaximizedFocus.
Insomma:
Codice: Seleziona tutto
Programma = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" 'Da modificare col proprio percorso
piDD = Shell(Programma, vbNormalFocus) ' vbMinimizedNoFocus)
       
Application.Wait (Now + TimeValue("0:00:04"))
wSet = SetWindow("Excel")


Vorrei anche sapere su quale versione Excel fai le tue prove.

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

Re: aprire sia il browser che una serie di file excel....

Postdi teto021162 » 10/12/19 15:19

Il codice funziona perfettamente era proprio una questione di ritardare la richiesta.
Grazie mille

Ps. la versione che uso è la 2003

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 "aprire sia il browser che una serie di file excel....":


Chi c’è in linea

Visitano il forum: Nessuno e 38 ospiti