Ayuda con Archivos en VBS.
Buenos dias muchachos...
Recurro a uds por ayuda ya que tengo un problema que aunque es algo muy est煤pido, me ha causado problemas. Resumo a continuaci贸n la situacion.
Resulta y pasa que trabajo con una aplicaci贸n a donde llegan una serie de codigos que definen un mensaje, es decir, estan estos codigos y sus mensajes.
Cod Mensaje
W650 La Terminal presento un error de cierre.
W750 El sistema no encuentra el archivo.
W850 La Red esta ocupada.
A la aplicaci贸n llega el c贸digo 聯W650聰, se lee el c贸digo y se le env铆a un Correo Electronico a la persona encargada de solucionar el problema. El mensaje es lo de menos, eso lo hago por medio de otro metodo y ya lo tengo listo, y la llegada de los mensajes tambien, pero resulta que tengo un mensaje con codigo 聯W766聰 se presenta cada rato y llena de Emails a los encargados de mantenimiento (la verdad me importa un pepino que los llene de correos, ellos definieron el mensaje y ahora se quejan), pero ahora me solicitaron que creara una forma de que se enviara un Email solo cuando existan 15, 30, 45 y 60 mensajes de ese c贸digo.
Resulta que esa parte de la llegada de los Codigos y la salida de los Email聮s se implementa en un VBS, y lo primero (y 煤nico) que se me ha ocurrido para solucionar el problema es crear un contador que almacene el numero de veces que ha llegado un mensaje, pero el VBS no guarda ese dato por que solo se ejecuta cuando llega un mensaje y no mas.
Por tanto la cosa esta asi:
Les agradecer铆a que me indicaran como hago para implementar un Script que una vez le铆do el c贸digo del mensaje, lleve un contador que se guarde en un archivo de Texto o algo asi, y que luego lo lea, sea examinado en un 聯If聰 y asi se determine si se env铆a o no.
Lo del envio del Correo es algo sencillo y lo controla una variable llamada 聯enviocorreo聰 que cuando es igual a 聯1聰 NO env铆a el correo, y cuando es igual a 聯0聰 lo env铆a.
De no ser igual a 15, entonces se debe incrementar el contador, guardar el dato de nuevo en el archivo y no hacer nada mas hasta la llegada del pr贸ximo mensaje que es cuando se vuelve a leer y se repite el proceso.
Al final les adjunto el pedazo de c贸digo que he intentado implementar para hacer eso junto con unas anotaciones sobre cada linea.
Les agradezco la ayuda y todo lo que me pueda guiar, y si, se que es algo muy est煤pido, pero no me sale.
Gracias por todo.
----- CODIGO EN VBS-----
'** Analizo el codigo del mensaje.
if CodMensaje ="W766" then
'** Paro el envio de correos.
enviacorreo=1
'** Creo un archivo. Creo que intento crearlo...
Open App.Path & "Contador.txt" For Input As #1
'** Aca supuestamente intento leer la variable guardada.
Input #1, ContW766
Close #1
'** Calculo el modulo del Contador respecto a 15. La variable que me almacena el modulo se llama EvaW766 (por eso de Evaluar)
EvaW766= ContW766 Mod 15
'** Si el modulo es Cero, eso significa que hay 15, 30, 45 o 60 mensajes.
'** Por tanto creo una variable de texto que adjunto al mensaje y hago
'** que se se envie el correo haciendo "enviacorreo" igual a 0.
if EvaW766 = 0 then
AlertW766 = "ALERTA CRITICA N掳" & ContW766 / 15
enviacorreo=0
End if
'** Si el Contador es mayor a 60. Lo hago igual a cero. Solo me interesa que existan por cada tanta, hasta 60 mensajes.
if ContW766>60
Cont766=0
end if
'** Incremento el contador en 1.
ContW766 = ContW766 + 1
'** Se supone que aca estoy guardando el contador de nuevo para la proxima lectura.
Open App.Path & "Contador.txt" For Output As #1
Print #1, ContW766
Close#1
end if
'** Se acaba el codigo y listo.
Recurro a uds por ayuda ya que tengo un problema que aunque es algo muy est煤pido, me ha causado problemas. Resumo a continuaci贸n la situacion.
Resulta y pasa que trabajo con una aplicaci贸n a donde llegan una serie de codigos que definen un mensaje, es decir, estan estos codigos y sus mensajes.
Cod Mensaje
W650 La Terminal presento un error de cierre.
W750 El sistema no encuentra el archivo.
W850 La Red esta ocupada.
A la aplicaci贸n llega el c贸digo 聯W650聰, se lee el c贸digo y se le env铆a un Correo Electronico a la persona encargada de solucionar el problema. El mensaje es lo de menos, eso lo hago por medio de otro metodo y ya lo tengo listo, y la llegada de los mensajes tambien, pero resulta que tengo un mensaje con codigo 聯W766聰 se presenta cada rato y llena de Emails a los encargados de mantenimiento (la verdad me importa un pepino que los llene de correos, ellos definieron el mensaje y ahora se quejan), pero ahora me solicitaron que creara una forma de que se enviara un Email solo cuando existan 15, 30, 45 y 60 mensajes de ese c贸digo.
Resulta que esa parte de la llegada de los Codigos y la salida de los Email聮s se implementa en un VBS, y lo primero (y 煤nico) que se me ha ocurrido para solucionar el problema es crear un contador que almacene el numero de veces que ha llegado un mensaje, pero el VBS no guarda ese dato por que solo se ejecuta cuando llega un mensaje y no mas.
Por tanto la cosa esta asi:
Les agradecer铆a que me indicaran como hago para implementar un Script que una vez le铆do el c贸digo del mensaje, lleve un contador que se guarde en un archivo de Texto o algo asi, y que luego lo lea, sea examinado en un 聯If聰 y asi se determine si se env铆a o no.
Lo del envio del Correo es algo sencillo y lo controla una variable llamada 聯enviocorreo聰 que cuando es igual a 聯1聰 NO env铆a el correo, y cuando es igual a 聯0聰 lo env铆a.
De no ser igual a 15, entonces se debe incrementar el contador, guardar el dato de nuevo en el archivo y no hacer nada mas hasta la llegada del pr贸ximo mensaje que es cuando se vuelve a leer y se repite el proceso.
Al final les adjunto el pedazo de c贸digo que he intentado implementar para hacer eso junto con unas anotaciones sobre cada linea.
Les agradezco la ayuda y todo lo que me pueda guiar, y si, se que es algo muy est煤pido, pero no me sale.
Gracias por todo.
----- CODIGO EN VBS-----
'** Analizo el codigo del mensaje.
if CodMensaje ="W766" then
'** Paro el envio de correos.
enviacorreo=1
'** Creo un archivo. Creo que intento crearlo...
Open App.Path & "Contador.txt" For Input As #1
'** Aca supuestamente intento leer la variable guardada.
Input #1, ContW766
Close #1
'** Calculo el modulo del Contador respecto a 15. La variable que me almacena el modulo se llama EvaW766 (por eso de Evaluar)
EvaW766= ContW766 Mod 15
'** Si el modulo es Cero, eso significa que hay 15, 30, 45 o 60 mensajes.
'** Por tanto creo una variable de texto que adjunto al mensaje y hago
'** que se se envie el correo haciendo "enviacorreo" igual a 0.
if EvaW766 = 0 then
AlertW766 = "ALERTA CRITICA N掳" & ContW766 / 15
enviacorreo=0
End if
'** Si el Contador es mayor a 60. Lo hago igual a cero. Solo me interesa que existan por cada tanta, hasta 60 mensajes.
if ContW766>60
Cont766=0
end if
'** Incremento el contador en 1.
ContW766 = ContW766 + 1
'** Se supone que aca estoy guardando el contador de nuevo para la proxima lectura.
Open App.Path & "Contador.txt" For Output As #1
Print #1, ContW766
Close#1
end if
'** Se acaba el codigo y listo.
