Ver Mensaje Individual
  #5 (permalink)  
Antiguo 24/05/2007, 18:47
jorevale
Invitado
 
Mensajes: n/a
Puntos:
Y por qué no un .exe o .bat que se ejecute como tarea programada de Windows?

Hola

Yo lo que hago con este tema es lo siguiente:
- Hago un ejecutable que corra las instrucciones que me interesan.
- Creo una tarea programada en Windows que ejecute el ejecutable (uf!!) cada vez que me interese, por ejemplo, determinados días de la semana.

No se si te sirva. Sobre el trabajo desde VB6 con MS-DOS, aquí te va un ejemplo por si te sirve de algo.

Saludos.

................................................

Public Comando As String
Private Const PROCESS_QUERY_INFORMATION = &H400
Private Const STILL_ACTIVE = &H103
Private Declare Function OpenProcess Lib "kernel32" _
(ByVal dwDesiredAccess&, ByVal bInheritHandle&, ByVal dwProcessId&) _
As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" _
(ByVal hProcess As Long, lpExitCode As Long) _
As Long
Private VCadena As String
Private VCadena1 As String
Private VCadena2 As String
Private VMonth1 As String
Private VDay1 As String
Private VYear1 As String
Private VHour1 As String
Private VMinute1 As String
Sub EsperarShell(sCmd As String)
Dim hShell As Long
Dim hProc As Long
Dim codExit As Long
' ejecutar comando
hShell = Shell(Environ$("Comspec") & " /c " & sCmd, 2)
' esperar a que se complete el proceso
hProc = OpenProcess(PROCESS_QUERY_INFORMATION, False, hShell)
Do
GetExitCodeProcess hProc, codExit
DoEvents
Loop While codExit = STILL_ACTIVE
'MsgBox "El Proceso ha Terminado", vbInformation + vbOKOnly, "Mensaje"
End Sub
Private Sub MSDOS()
'Supongamos que la fecha 14 de octubre
VYear1 = Trim(Str(Year(Date)))
VYear1 = Right(VYear1, 2)
VMonth1 = Trim(Str(Month(Date)))
If Val(VMonth1) < 10 Then
VMonth1 = "0" & VMonth1
End If
VDay1 = Trim(Str(Day(Date)))
If Val(VDay1) < 10 Then
VDay1 = "0" & VDay1
End If
VHour1 = Trim(Str(Hour(Time)))
If Val(VHour1) < 10 Then
VHour1 = "0" & VHour1
End If
VMinute1 = Trim(Str(Minute(Time)))
If Val(VMinute1) < 10 Then
VMinute1 = "0" & VMinute1
End If
VCadena1 = VYear1 & VMonth1 & VDay1 & "_" & VHour1 & VMinute1 & "_" & "AST"
'VCadena1="071014_2215_AST"
VCadena = "MD Z:\AUTI\BCK\A" & VYear1
'VCadena = MD Z:\AUTI\BCK\A07
Comando = VCadena
EsperarShell (Comando)
VCadena = "XCOPY /S Z:\AUTI\AST\*.* Z:\AUTI\BCK\A" & VYear1
'VCadena = XCOPY /S Z:\AUTI\AST\*.* Z:\AUTI\BCK\A07 (Salva las bases)
Comando = VCadena
EsperarShell (Comando)
VCadena = "PKZIP -ASalt A" & VYear1 & " Z:\AUTI\BCK\A" & VYear1 & "\*.*"
'VCadena = PKZIP -ASalt A07 Z:\AUTI\BCK\A07\*.*
'Crea fichero A07.zip, con clave "alt", en el que compacta el contenido de Z:\AUTI\BCK\A07\*.*
Comando = VCadena
EsperarShell (Comando)

VCadena = "RENAME A07.zip " & VCadena1 & ".zip"
'VCadena = RENAME A07.zip 071014_2215_AST
Comando = VCadena
EsperarShell (Comando)
VCadena = "RD /S/Q Z:\AUTI\BCK\A" & VYear1
'VCadena = RD /S/Q Z:\AUTI\BCK\A07 'Borra el directorio y queda sólo el compactado
Comando = VCadena
EsperarShell (Comando)
End Sub
Private Sub Form_Load()
MSDOS
End
End Sub