Ayuda con VBS (SOLUCIONADO) Tema Cerrado

Iniciado por PokiPoki, 29 Enero 2014, 22:30 PM

0 Miembros y 1 Visitante están viendo este tema.

PokiPoki

Antes de nada,saludar a todos los componentes del foro pues me acabo de registrar

Necesito una pequeña ayuda para hacer funcionar mi archivo EnvioMail.vbs

Código (vb) [Seleccionar]
set objcdo=createobject("cdo.message")
objcdo.subject="bla bla bla"
objcdo.from="micorreo@hotmail.com"
objcdo.to="tucorreo@hotmail.com"
objcdo.textbody="Este es el texto del mail"
objcdo.addattachment("c:\miarchivo.zip")

........................
..............................
pues lo que quiero es poder usar la funcion randomize y reemplace,para que cada vez que mande un correo me cambie el texto escrito en el campo de objcdo.subject="bla bla bla" y me genere uno aletorio cada vez

tengo esta funcion ramdomize,aunque el resultado lo muestra en un Msgbox  :(

Código (vb) [Seleccionar]
WScript.Echo TextRandom(12)

Function TextRandom(Count)
   Randomize
   For i = 1 To Count
       If (Int((1 - 0 + 1) * Rnd + 0)) Then
           TextRandom = TextRandom & Chr(Int((90 - 65 + 1) * Rnd + 65))
       Else
           TextRandom = TextRandom & Chr(Int((57 - 48 + 1) * Rnd + 48))
       End If
   Next
End Function


pero no se como agregarla con la funcion reemplace dentro de mi archivo EnvioMail.vbs, me seria de gran utilidad poderlo hacer funcionar.

PD:Soy novato en esto,pues no se si lo que propongo se puede o no hacer  :huh:

Eleкtro

#1
Bienvenido al foro.

1. Debes usar las etiquetas de código, porfavor lee las normas.

2. No existe ningún método que se denomine 'reemplace', en todo caso imagino que quieres decir 'replace', pero no entiendo el uso que le quieres dar en este escenario.

3. Para resolver la situación de poder usar una cadena de texto aleatoria como 'asunto', es tan simple como asignar los datos que devuelve el método 'TextRandom' a la propiedad 'Subject' del objeto 'objcdo'.
Código (vb) [Seleccionar]
objcdo.subject = TextRandom(n)

Te sugiero que leas un tutorial básico, no de VBS, sinó de programación orientada a objetos en general, ya que esto es lo más básico de todo ...y supongo que no querrás pasarte la vida necesitando ayuda para resolver cosas básicas :P.

Saludos!








PokiPoki

#2
Gracias por la ayuda Eleкtro

soy novato en esto,el error era mio,error tonto y muy simple pues seguia usando comillas dobles objcdo.subject = "TextRandom(n)"
en el campo del asunto :(

PD:Por mi parte el tema esta solucionado y Cerrado,un saludo compañeros

Eleкtro

Cita de: PokiPoki en 30 Enero 2014, 00:26 AMerror tonto y muy simple pues seguia usando comillas dobles objcdo.subject = "TextRandom(n)"

Como información adicional quiero explicarte que la comilla doble es un símbolo reservado por el lenguaje para encerrar un String  (lo que resulta obvio :P), entonces cuando quieras insertar comillas dobles en un string debes escapar el caracter, la forma de escaparlo es duplicar el símbolo (2 comillas dobles para encerrar el string y 2 comillas dobles para insertar una comilla doble dentro del string) y concatenar el texto con el operador "&", todo esto se haría así:

Código (vb) [Seleccionar]
objcdo.subject = """" & TextRandom(n) & """"

o bien:

Código (vb) [Seleccionar]
objcdo.subject = """" & "Texto Normal" & """"

O también puedes utilizar la función Chr que devuelve el caracter de un byte (0-255):

Código (vb) [Seleccionar]
objcdo.subject = chr(34) & TextRandom(n) & chr(34)

o bien:

Código (vb) [Seleccionar]
objcdo.subject = chr(34) & "Texto Normal" & chr(34)

Saludos.