Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

eseguire file .bat da access è possibile?

522 views
Skip to first unread message

leopard73

unread,
Oct 7, 2010, 5:55:06 AM10/7/10
to
?Si può lanciare un file .bat da access? grazie.

BFS

unread,
Oct 7, 2010, 5:57:30 AM10/7/10
to
Il 07/10/2010 11:55, leopard73 ha scritto:
> ?Si può lanciare un file .bat da access? grazie.
>
>

butta in un modulo:

Private Declare Function OpenProcess Lib "Kernel32" _
(ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _
ByVal dwProceessId As Long) As Long


Private Declare Function WaitForSingleObject Lib "Kernel32" _
(ByVal hHandle As Long, ByVal dwMillisecond As Long) As Long

Private Declare Function CloseHandle Lib "Kernel32" _
(ByVal hObject As Long) As Long

Private Const SYNCRONIZE = &H100000
Private Const INFINITE = &HFFFF

Public Sub RunAppAndWait(FileName As String, WindowsStyle As Integer)
Dim hProg As Long
hProg = Shell(FileName, vbNormalNoFocus)
If hProg Then WaitOnProgram (hProg)

End Sub

Public Sub WaitOnProgram(idProg As Long)
Dim hProg As Long
Dim iret As Long
hProg = OpenProcess(SYNCRONIZE, False, idProg)
If hProg <> vbNull Then
iret = WaitForSingleObject(hProg, INFINITE)
CloseHandle hProg
End If
End Sub

per lanciare il bat:


Call RunAppAndWait("c:\tuo.bat", 0)

ciao
BFS

sv

unread,
Oct 7, 2010, 6:06:05 AM10/7/10
to
leopard73 ha scritto:

> ?Si può lanciare un file .bat da access? grazie.

Qui c'è un esempio:

http://support.microsoft.com/kb/302891/it

--
sv

--

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ab...@newsland.it


BFS

unread,
Oct 7, 2010, 7:10:12 AM10/7/10
to


con la mia soluzione il tuo codice si interrompe fino a quando il bat
non ha finito....se non ti serve che succeda questo usa pure l'altra
soluzione proposta

ciao
BFS

RobertoA

unread,
Oct 7, 2010, 10:08:30 AM10/7/10
to
> con la mia soluzione il tuo codice si interrompe fino a quando il bat non
> ha finito....se non ti serve che succeda questo usa pure l'altra soluzione
> proposta

Questo potrebbe anche far comodo se il file bat deve buttare fuori dei
valori che Access deve leggere
Piuttosto, come leggere dei codici di errore 'sputati' fuori dalla procedura
dentro il bat ?


BFS

unread,
Oct 7, 2010, 10:50:01 AM10/7/10
to

infatti io lo uso perchè il bat deve fare appunto delle elaborazioni che
mi servono al passo successivo vba.
Per gli errori credo che nel bat ci sia qualche comando dos per sputar
fuori un log...si tratterebbe semplicemente di leggerlo. Nel mio caso il
bat è banale e non mi sono mai posto il problema

ciao
BFS

RobertoA

unread,
Oct 7, 2010, 11:44:00 AM10/7/10
to

Invio sms ?


BFS

unread,
Oct 7, 2010, 11:40:44 AM10/7/10
to

no no semplici xcopy...per gli sms uso l'ocx di volasms

ciao

Bruno Campanini

unread,
Oct 7, 2010, 5:41:40 PM10/7/10
to
"leopard73" <leop...@email.it> wrote in message
news:4cad98fa$0$41847$4faf...@reader5.news.tin.it...

> ?Si può lanciare un file .bat da access? grazie.

Call Shell("C:\Guarda.bat")

se vuoi vedere quel che "ritorna" la Shell:
MsgBox Shell("C:\Guarda.bat")

Guardati l'Help per le opzioni Shell.

Bruno

leopard73

unread,
Oct 8, 2010, 5:15:04 AM10/8/10
to
??grazie a tutti.

"Bruno Campanini" <brun...@libero.it> ha scritto nel messaggio
news:4cae3e95$0$23143$4faf...@reader1.news.tin.it...

leopard73

unread,
Oct 8, 2010, 5:14:59 AM10/8/10
to
??a me non parte il bat ne in un modo ne nell'altro però non genera nessun
errore vba (uso win 7 con office xp)

Call RunAppAndWait("C:\Program Files\miacartella\blat\inviaemail.bat",
0)

Call Shell("C:\Program Files\miacartella\blat\inviaemail.bat")

sbaglio qualcosa?


"leopard73" <leop...@email.it> ha scritto nel messaggio
news:4cad98fa$0$41847$4faf...@reader5.news.tin.it...

BFS

unread,
Oct 8, 2010, 10:47:04 AM10/8/10
to


se il bat lo metti direttamente in c:\ funziona?

ciao
BFS

leopard73

unread,
Oct 8, 2010, 12:32:29 PM10/8/10
to
?>

>
> se il bat lo metti direttamente in c:\ funziona?
>
> ciao
> BFS

già provato nemmeno! non capisco

Bruno Campanini

unread,
Oct 8, 2010, 3:46:56 PM10/8/10
to
"leopard73" <leop...@email.it> wrote in message
news:4caf479b$0$10757$4faf...@reader2.news.tin.it...

Cosa c'è nel .BAT?

Bruno

leopard73

unread,
Oct 8, 2010, 8:34:47 PM10/8/10
to
?>

> Cosa c'è nel .BAT?
>
> Bruno
>

nel bat c'è il codice qui sotto, premetto che se faccio doppio click sul
file bat da windows funziona perfettamente

***** code bat ***********

@echo off
blat -subject "Scarichi " -body "Alleghiamo file scarichi" -t
in...@emailmittente.it -f in...@emaildestinatario.it -server
out.alice.it -attach "C:\Program Files\miacartella\pdf\scarichi.pdf" -d

Bruno Campanini

unread,
Oct 9, 2010, 5:29:45 AM10/9/10
to
"leopard73" <leop...@email.it> wrote in message
news:4cafb8a6$0$41848$4faf...@reader5.news.tin.it...

Immagino sia tutto su una riga e l'unico eseguibile
sia quel "blat" che io non conosco.
Al quale, se anch'esso è un .bat, puoi provare a
premettere un Call.

Ma non ti aspettare che Access funga da sistema
operativo supplementare per tutte le cazzate che
vorresti fargli eseguire.
Perché - opinione personale - mi sembra proprio
una cazzata cercare di fargli eseguire operazioni
che non coinvolgono dati da esso Access generati
o archiviati.
Ovvero con quel file .BAT si inviano dati di Access?
Mi pare di no, correggimi se sbaglio.

Bruno

leopard73

unread,
Oct 9, 2010, 11:59:57 AM10/9/10
to
?

"Bruno Campanini" <brun...@libero.it> ha scritto nel messaggio
news:4cb03851$0$10749$4faf...@reader2.news.tin.it...


no anche se mi servirebbe inviargli l'email ma non so come, forse è il caso
di gestire blat da access come mi aveva postato qualcuno ma non mi
funzionava per questo ho provato con un bat esterno.

Fabrizio Alessandri

unread,
Oct 12, 2010, 11:25:56 AM10/12/10
to
On 9 Ott, 17:59, "leopard73" <leopar...@email.it> wrote:
> ?
>
> "Bruno Campanini" <bruno...@libero.it> ha scritto nel messaggionews:4cb03851$0$10749$4faf...@reader2.news.tin.it...
>
>
>
>
>
> > "leopard73" <leopar...@email.it> wrote in message

> >news:4cafb8a6$0$41848$4faf...@reader5.news.tin.it...
> >> ?>
> >>> Cosa c'è nel .BAT?
>
> >>> Bruno
>
> >> nel bat c'è il codice qui sotto, premetto che se faccio doppio click sul
> >> file bat da windows funziona perfettamente
>
> >> ***** code bat ***********
>
> >> @echo off
> >> blat -subject "Scarichi " -body "Alleghiamo file scarichi" -t
> >> i...@emailmittente.it -f i...@emaildestinatario.it -server

> >> out.alice.it -attach "C:\Program Files\miacartella\pdf\scarichi.pdf" -d
>
> > Immagino sia tutto su una riga e l'unico eseguibile
> > sia quel "blat" che io non conosco.
> > Al quale, se anch'esso è un .bat, puoi provare a
> > premettere un Call.
>
> > Ma non ti aspettare che Access funga da sistema
> > operativo supplementare per tutte le cazzate che
> > vorresti fargli eseguire.
> > Perché - opinione personale - mi sembra proprio
> > una cazzata cercare di fargli eseguire operazioni
> > che non coinvolgono dati da esso Access generati
> > o archiviati.
> > Ovvero con quel file .BAT si inviano dati di Access?
> > Mi pare di no, correggimi se sbaglio.
>
> > Bruno
>
> no anche se mi servirebbe inviargli l'email ma non so come,  forse è il caso
> di gestire blat da access come mi aveva postato qualcuno ma non mi
> funzionava per questo ho provato con un bat esterno.

Anni fa feci anche io mi trovai a tentare di lanciare il ".bat" da
VBA, senza successo. Mi accorsi poi che era l'antivirus a bloccarne
l'invocazione.

leopard73

unread,
Oct 13, 2010, 11:21:13 AM10/13/10
to
?
> Anni fa feci anche io mi trovai a tentare di lanciare il ".bat" da
> VBA, senza successo. Mi accorsi poi che era l'antivirus a bloccarne
> l'invocazione.

ah grazie per la segnalazione controller�

0 new messages