ERROR SENDUSING AL ENVIAR MAIL

09/10/2006 - 18:53 por cbm | Informe spam
la macro envia a los usuarios de una columna a si en la b esta marcado
el yes y ademas en otra
celda (g3) el valor es 1 pero me da error "No es valido el valor de
configuracion sendusing" ALGUIEN PUEDE AYUDARME??? ME URGE!!!
pd: ya he pedido a mi proveedor de internet el smtp, nombre de
usuario(me ha extrañado que era mi propio correo), contraseña...

¿Puede ser que no tengo el Outlook express sino el normal?

Esta es la macro


Sub MacroX()


Dim iMsg As Object
Dim iConf As Object
Dim cell As Range
' Dim Flds As Variant


Application.ScreenUpdating = False


' Set iConf = CreateObject("CDO.Configuration")
' iConf.Load -1 ' CDO Source Defaults
' Set Flds = iConf.Fields
' With Flds
'
.Item("http://schemas.microsoft.com/cdo/co...sing") = 2
'
.Item("http://schemas.microsoft.com/cdo/co...rver") "mi smtp"
'
.Item("http://schemas.microsoft.com/cdo/co...port")
= 25
' .Update
' End With


For Each cell In
Sheets("email").Columns("B").Cells.SpecialCells(xlCellTypeConstants)
If cell.Offset(0, 1).Value <> "" Then
If cell.Value Like "?*@?*.?*" And LCase(cell.Offset(0,
1).Value) = "yes" Then
Set iMsg = CreateObject("CDO.Message")
With iMsg
Set .Configuration = iConf
.To = cell.Value
.From = "y...@xxx.es"
.Subject = "INDICADOR A REVISAR"
.TextBody = "Las vacas de" & cell.Offset(0,
-1).Value
& vbNewLine & vbNewLine & _
"se han escapao"
' Set importance or Priority to high
.Fields("urn:schemas:httpmail:importance") = 2
.Fields("urn:schemas:mailheader:X-Priority") = 1


' Request read receipt
.Fields("urn:schemas:mailheader:return-receipt-to") "y...@xxx.es"
.Fields("urn:schemas:mailheader:disposition-notification-to")
"y...@ohr.es"


.Send
End With


Set iMsg = Nothing
End If
End If
Next cell


Set iConf = Nothing
Application.ScreenUpdating = True


End Sub
 

Leer las respuestas

#1 cbm
10/10/2006 - 16:55 | Informe spam
GRACIAS HECTOR!!!

la verdad es que ni lo he intentado (de tiempo voy fatal). Me he puesto
con otra macro de Ron de Bruin que lo manda desde outlook en lugar de
através del CDO y me ha funcionado a la primera (puede que meta la
pata hasta el hondón, ya que en lo que ha programación se refiere soy
muy novato y completamente autodidacta, devoro todo lo que me
recomendais, y es la idea que me he hecho aunque la verdad es que no se
exactamente que es CDO.

Ademas permite ejecutar la macro si el resultado de una celda es XXX,
aunque luego me ha dado problemas ya que los datos de origen de la
formula provenian de otras, pero al final con una macro sobre un
command buttton que multiplica por uno el rango en otro sitio lo he
medio automatizado, bufff, no se si me explico muy bien ;)


Muchas gracias, y si puedo echar una mano...


Héctor Miguel ha escrito:

hola, carlos !

> la macro envia a los usuarios de una columna a si en la b esta marcado el yes
> y ademas en otra celda (g3) el valor es 1 pero me da error
> "No es valido el valor de configuracion sendusing" ALGUIEN PUEDE AYUDARME??? ME URGE!!!
> pd: ya he pedido a mi proveedor de internet el smtp, nombre de usuario (me ha extra#ado que era mi propio correo), contrase#a...
> Puede ser que no tengo el Outlook express sino el normal?

1) el error significa que tu OE no ha sido utilizado/configurado/... para envios de correos -?-
[por lo tanto] el componente CDO... 'tampoco' ha tenido tiempo de configurarse :-((

2) -posible- solucion ?
DESMARCA las lineas que tienes 'comentadas' -> ANTES de tu linea: -> For Each cell In Sheets("email").

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ el codigo expuesto __
Esta es la macro
Sub MacroX()
Dim iMsg As Object
Dim iConf As Object
Dim cell As Range
' Dim Flds As Variant
Application.ScreenUpdating = False
' Set iConf = CreateObject("CDO.Configuration")
' iConf.Load -1 ' CDO Source Defaults
' Set Flds = iConf.Fields
' With Flds
' .Item("http://schemas.microsoft.com/cdo/co...sing") = 2
' .Item("http://schemas.microsoft.com/cdo/co...rver") = "mi smtp"
' .Item("http://schemas.microsoft.com/cdo/co...port") = 25
' .Update
' End With
For Each cell In Sheets("email").Columns("B").Cells.SpecialCells(xlCellTypeConstants)
If cell.Offset(0, 1).Value <> "" Then
If cell.Value Like "?*@?*.?*" And LCase(cell.Offset(0, 1).Value) = "yes" Then
Set iMsg = CreateObject("CDO.Message")
With iMsg
Set .Configuration = iConf
.To = cell.Value
.From = ""
.Subject = "INDICADOR A REVISAR"
.TextBody = "Las vacas de" & cell.Offset(0, -1).Value & vbNewLine & vbNewLine & _
"se han escapao"
' Set importance or Priority to high
.Fields("urn:schemas:httpmail:importance") = 2
.Fields("urn:schemas:mailheader:X-Priority") = 1
' Request read receipt
.Fields("urn:schemas:mailheader:return-receipt-to") = ""
.Fields("urn:schemas:mailheader:disposition-notification-to") = ""
.Send
End With
Set iMsg = Nothing
End If
End If
Next cell
Set iConf = Nothing
Application.ScreenUpdating = True
End Sub

Preguntas similares