Ciao ho questo codice che mi spedisce un email in base ai record che ho selezionato prima.
cmdblat e' una stringa che richiama blat.exe (www.blat.net) un programma che invia email da riga di comando. il mio problema e' che ogni tanto la variabile "esito" mi restituisce valore 259 che, cercando in giro sul web ho scoperto essere un errore di timeout. In realta' l'emal la spedisce ugualmente ed arrriva quindi non e' un problema di blat.exe ma del comando che richiama la shell. Documentandomi sull'uso di shell.run ho letto che l'ultimo parametro che accetta (true o false) indica che deve attendere che il comando lanciato aspetti fino a che si chiude; il mio problema e' che ogni tanto non aspetta e mi restituisce quell'errore 259, mi basterebbe anche solo aumentare il timeout dello script ma non so come fare (ho cercato ma sembra non si possa). qualcuno mi sa aiutare????codice:While Not RSI.EOF 'creo la stringa per inviare le mail con blat Server = " -serverSMTP smtp.serverposta.it" From = " -f email@origine.com" Destinatario = " -to email@destinazione.it" SubJect = " -subject " & RSI!NomeFile Body = " -body " & RSI!NomeFile Codifica = " -base64" Attach = " -attach " & RSI!percorso & RSI!NomeFile & "." & RSI!est Log = " -log " & PercBlatLog & Scat & "-" & Invio & ".log -debug -timestamp " TimeOut = " -ti 60" Params = " -try 3" RSI.Edit RSI!datainvio = Now RSI.Update cmdBlat = PercBlat & Server & From & Login & Destinatario & SubJect & Body & Codifica & Attach & Log & TimeOut & Params 'esito = WshShell.Run(cmdBlat, 5, True) ' 5 visualizza la finestra esito = WshShell.Run(cmdBlat, 1, True) 'debug DoEvents 'esito=0 non ci sono errori 'esito <> 0 ci sono stati errori con l'invio delle email If esito <> 0 Then ErrorMex = ErrorMex & RSI!NomeFile & ": " & esito & vbCrLf Else RSI.Edit RSI!statoImg = 2 RSI.Update End If 'metto codice per aggiornare barra avanzamento progressBar.Value = progressBar.Value + 1 RSI.MoveNext Wend