Newsgroup: it.comp.appl.access
Titolo: Lanciare file bat da codice..

Salve!Scrivo per questo..In un mio db lancio dei file .bat da codice; 
Mi son creato la funzione "RunAppAndWait", che ho trovato sul sito 
comune penso (..non mi ricordo), che aspetta la fine del pgm in 
esecuzione per andare avanti con il resto del codice, e funziona!
Ora: lanciando a mano un file .bat funziona in modo corretto, eseguendo 
tutte le operazione da me inserite, lanciando lo stesso bat da codice 
no..non capisco il perchè, non ha senso!Magari qualcuno di voi ha già 
avuto questo problema e sà darmi aiuto..Ho provato a lanciare il .bat 
da codice in diversi modi:
- RunAppAndWait "c:\filebat.bat", vbnormalfocus
- Call Shell "c:\filebat.bat", vbnormalfocus
ma niente..il file .bat è corretto, perchè funziona, ma eseguendolo da 
codice vba nn funziona!Sapete darmi aiuto? Grazie 1000 anticipatamente!
-- 
AR

 wrote in message
news:200505131...@mynewsgate.net

Prova con questo.
Set wsh = Server.CreateObject("WScript.Shell")
intReturn = wsh.Run("C:\DoCopy.BAT", 3, False)
Set wsh = Nothing
Ciao
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 @Alex
Dimenticavo, se devi realizzare l'effetto di WAIT
il parametro [bWaitOnReturn]=True come indicato nelle
istruzioni.
object.Run(strCommand, [intWindowStyle], [bWaitOnReturn]) 
Arguments
   object 
     WshShell object. 
   strCommand 
     String value indicating the command line you want to run.
     You must include any parameters you want to pass to the 
     executable file. 
   intWindowStyle 
     Optional.Integer value indicating the appearance
     of the program's window. 
     Note that not all programs make use of this information. 
   bWaitOnReturn 
     Optional. Boolean value indicating whether 
     the script should wait for the program 
     to finish executing before continuing 
     to the next statement in your script. 
     If set to true, script execution halts 
     until the program finishes, 
     and Run returns any error code returned by the program. 
     If set to false (the default), 
     the Run method returns immediately after starting the program, 
     automatically returning 0 (not to be interpreted as an error code).
intWindowStyle Description 
0 Hides the window and activates another window. 
1 Activates and displays a window. If the window is minimized or
maximized, the system restores it to its original size and position. An
application should specify this flag when displaying the window for the
first time.
2 Activates the window and displays it as a minimized window.  
3 Activates the window and displays it as a maximized window.  
4 Displays a window in its most recent size and position. The active
window remains active.
5 Activates the window and displays it in its current size and position.
6 Minimizes the specified window and activates the next top-level window
in the Z order.
7 Displays the window as a minimized window. The active window remains
active.
8 Displays the window in its current state. The active window remains
active.
9 Activates and displays the window. If the window is minimized or
maximized, the system restores it to its original size and position. An
application should specify this flag when restoring a minimized window.
10 Sets the show-state based on the state of the program that started
the application.


 Set wsh = Nothing
Ma per utilizzare questo codice devo aggiungere una qualche libreria 
particolare? Perchè mi dice, eseguendolo, necessario oggetto!Grazie..
-- 
AR

 > Set wsh = Server.CreateObject("WScript.Shell")

No perchè è usato il metodo LateBinding, solo che
pensavo sapessi della necessità di dichiarare la variabile
Oggetto:
Dim wsh as Object
Dim intReturn as Integer
Set wsh = Server.CreateObject("WScript.Shell")
intReturn = wsh.Run("C:\DoCopy.BAT", 3, False)
Set wsh = Nothing
Ciao


 Set wsh = Nothing
Continua a darmi errore! La variabile Server?Infatti in debug l'errore avviene 
sulla terza riga..Perdonami l'ignoranza!
-- 
AR

 > No perchè è usato il metodo LateBinding, solo che

Si scusa è colpa mia, non ho tolto la parte per poterla
eseguire su un Server Remoto.
Dim wsh as Object
Dim intReturn as Integer
Set wsh = CreateObject("WScript.Shell")
intReturn = wsh.Run("C:DoCopy.BAT", 3, False)
Set wsh = Nothing
Vediamo se va meglio.
