¿Ayuda para entender código de una macro?

Hola expertos!!

Alguien me puede ayudar a explicar el siguiente código y decirme como lo puedo usar:

If ORev.Value = True And mesr.Value = True Then

FechaIni = CDate(Right(Fin, 2) + "/" + Mid(Fin, 5, 2) + "/" + Left(Fin, 4))

A = CStr(Year(FechaIni))

M = CStr(Month(FechaIni))

D = CStr(Day(FechaIni))

A = Trim(A)

M = Right("0" + Trim(M), 2)

D = Right("0" + Trim(D), 2)

A2 = Right(A, 2)

PW = Choose(Val(M), "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic")

CmdLine = "C:\Tmp\C2000\Semanal\Bats\RenRev_Mes.Bat "

CmdLine = CmdLine + A + " " + M + " " + D + " " + PW + " " + A2 + " " + semana

MsgBox CmdLine

Bat = Shell(CmdLine, 1)

End If

Espero me puedan decir que hace cada line y tal vez ayudarme a explicar como poder usar esto y yo hacer mis propios proceso.

Saludos y de antemano gracias.

1 Respuesta

Respuesta
1

Te anexo la explicación de cada línea, con ello tal vez te ayude a entender cómo funciona.

'si el valor de ORev es verdadero y el valor de mesr es verdadero entonces continua
If ORev.Value = True And mesr.Value = True Then
'a la variable fechaini le pasan un fecha, que es convertida de caracter a fecha con Cdate
'Concatena 2 caracteres para el mes, /, 2 caracteres para el dia, / y 4 caracteres para el año
'Los caracteres los obtiene de la variable Fin
FechaIni = CDate(Right(Fin, 2) + "/" + Mid(Fin, 5, 2) + "/" + Left(Fin, 4))
'Ahora le pasa el año de fechaini a la variable A
A = CStr(Year(FechaIni))
'El mes a M
M = CStr(Month(FechaIni))
'El día a D
D = CStr(Day(FechaIni))
'Le quita espacios a A
A = Trim(A)
'Le quita espacios a M y le pone un 0 de lado izquierdo, para que quede 01, 02, 03, etc
M = Right("0" + Trim(M), 2)
'Le quita espacios a D y le pone un 0 de lado izquierdo, para que quede 01, 02, 03, etc
D = Right("0" + Trim(D), 2)
'La variabel A2 le pasa los 2 últimos dígitos del Año
A2 = Right(A, 2)
'Pasa a PW los caracteres según el valor en M, ej: si M = 04, entonces PW = "Abr"
PW = Choose(Val(M), "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic")
'concatena en CmdLine una ruta y un archivo.bat
CmdLine = "C:\Tmp\C2000\Semanal\Bats\RenRev_Mes.Bat "
'concatena en CmdLine lo que ya tiene en CmdLine y le agrea el año, el mes, el dia,
'el mes de tres letras, los últimos 2 dígitos del año y la semana, todos separados por un espacio
CmdLine = CmdLine + A + " " + M + " " + D + " " + PW + " " + A2 + " " + semana
'Envía a pantalla un mensaje con lo que tiene CmdLine
MsgBox CmdLine
'la variable Bat tiene el resultado de la instrucción
Bat = Shell(CmdLine, 1)
End If

Nota: Hay algunos datos que no vienen en la macro que pusiste

Saludos. Dam
Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas