Activate



  • Activate
    di joos (utente non iscritto) data: 22/01/2014 10:23:02

    Ciao! Ho un problema molto grosso. Ho due file che sono schedulati ogni mattina. il primo excel lancia delle macro che lavorano su un altro foglio excel (xxx.xlsm). QUindi si apre anche quest ultimo! dopo circa 10 minuti viene lanciato anche il secondo file excel che parte da una verifica su questo xxx.xlsm. Per fare ciò setto una variabile wb come workbooks e lo punto al file Set wb = workbooks("xxx.xlsm") e non va. Poi ho provato windows("xxx.xlsm").activate prima di settare e non va perchè da errore "out of range". E' come si aprisse una nuova istanza di excel, infatti da VBA noto che il foglio non è visibile anche se è aperto. Qualche idea? Grazie mille



  • di Grograman (utente non iscritto) data: 22/01/2014 10:31:15

    Si da come l'hai descritta sembra essere aperto in una seconda sessione di excel.

    Al massimo prova prima con :
    A patto che sia stato chiuso quel file...
     
    Set wb = application.workbooks.open(C:"xxx.xlsm") 



  • di joos (utente non iscritto) data: 22/01/2014 10:36:47

    No purtroppo non può essere chiuso quel file.. deve restare aperto.. perchè deve caricare degli oggetti all'interno, che non si caricano se non esco prima dalla macro. dopo nel secondo file che si avvia, si effettua un check che controlla se gli oggetti sono stati caricati o meno. quindi questa opzione non è fattile. Ma la cosa strana è che se le avvio a mano una dietro l'altra a distanza di 2 minuti uno dall'altro, tutto funziona.. se passo dallo scheduler a 10 minuti l'un dall'altro, anche senza toccare pc.. non lo trova. Hai altre idee?



  • di patel data: 22/01/2014 11:01:02

    ltre ideoo potrebboro arrivare vedendo la macro





  • di joos (utente non iscritto) data: 22/01/2014 11:17:29

    Ciao patel, niente di stravolgente.. questa è la macro che parte dal primo file fa un refresh dello sheet. nella seconda macro che parte dall'altro foglio controllo semplicemente che alcuni campi siano vuoti o meno e salvo. ma non setta il foglio. Grazie
     
    Private Sub Workbook_Open()
        
        Application.DisplayAlerts = False
        On Error Resume Next
        Dim wb As Workbook
        Set wb = Workbooks.Open("C:xxx.xlsm")
        Workbooks.OpenXML (wb)
        Application.CalculateFullRebuild
        
    End Sub
    



  • di scossa (utente non iscritto) data: 22/01/2014 13:29:53

    Ciao,

    non ho capito nulla del tuo processo, ma

    Set wb = Workbooks.Open("C:xxx.xlsm")
    Workbooks.OpenXML (wb)

    non ha molto senso, direi anzi che è fonte di problemi ...



  • di joos (utente non iscritto) data: 22/01/2014 19:24:53

    ciao scossa. Si hai ragione! quello era un commento, ma il comando non viene eseguito. Il processo va eseguito così perchè ci sono degli addin che non caricano se non si esce dalla macro. Ho provato anche Application.onwait ed altro. Avete un modo per vedere tutte le istanze attive di excel? Grazie