Eseguire due files .xlsm contemporaneamente con un VBScript

Anonimo
2013-09-10T13:21:39+00:00

Salve a tutti, 

qualche tempo fa Mauro mi ha dato un VBScript per lanciare in "modalita' silenzioso" un file .xlsm che ha delle macro attivate regolarmente con la funzione OnTime. Mi chiedevo: nel caso in cui, nello stesso server, volessi fare girare piu' di un file insieme (con macro automatizzate anch'esso), e' possibile farlo dallo stesso VBScript? In modo che con il doppio click sul VBScript mi si lancino in processo entrambi i files (con macro inseme) in silenzioso?

Grazie in anticipo!

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2013-09-10T17:37:28+00:00

Salve a tutti, 

qualche tempo fa Mauro mi ha dato un VBScript per lanciare in "modalita' silenzioso" un file .xlsm che ha delle macro attivate regolarmente con la funzione OnTime. Mi chiedevo: nel caso in cui, nello stesso server, volessi fare girare piu' di un file insieme (con macro automatizzate anch'esso), e' possibile farlo dallo stesso VBScript? In modo che con il doppio click sul VBScript mi si lancino in processo entrambi i files (con macro inseme) in silenzioso?

Grazie in anticipo!

Ciao Matteo,

direi di sì, a patto che istanzi i file separatamente:

Set xlBook1 = xlApp.Workbooks.Open("File1")

xlBook1 .Run "Macro1"

Set xlBook2 = xlApp.Workbooks.Open("File2")

xlBook2.Run "Macro2"

Andrea.

La risposta è stata utile?

0 commenti Nessun commento

2 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2013-09-12T18:07:13+00:00

    Grazie Andrea,

    ha funzionato. L'unica cosa e' che ho dovuto separare i due VBScripts, perche' non riusciva a lanciarli contemporaneamente anche stanziando due istanze diverse. Ma non e' un problema, con due diversi VBScripts i due files girano insieme!

    Ci devono essere due diversi oggetti Application nello stesso vbs. Poi ciascun oggetto Application aprirà il suo Workbook e lancerà la sua macro:

         Dim objExcel_1

         Dim objWorkbook_1

         Dim objExcel_2

         Dim objWorkbook_2

         Dim CurrDir

        CurrDir = Left(WScript.ScriptFullName, (Len(WScript.ScriptFullName)) - (Len(WScript.ScriptName)))

         Set objExcel_1 = CreateObject("Excel.Application")

         Set objWorkbook_1 = objExcel_1.Workbooks.Open( _

             CurrDir & "\tuoFile_1.xlsm")

         Set objExcel_2 = CreateObject("Excel.Application")

         Set objWorkbook_2 = objExcel_2.Workbooks.Open( _

             CurrDir & "\tuoFile_2.xlsm")

        objExcel_1.Visible = False

        objWorkbook_1.Application.Run("m_1")

        objExcel_2.Visible = False

        objWorkbook_2.Application.Run("m_2")

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2013-09-12T09:52:56+00:00

    Grazie Andrea,

    ha funzionato. L'unica cosa e' che ho dovuto separare i due VBScripts, perche' non riusciva a lanciarli contemporaneamente anche stanziando due istanze diverse. Ma non e' un problema, con due diversi VBScripts i due files girano insieme!

    La risposta è stata utile?

    0 commenti Nessun commento