Miércoles, junio 29 2022
  13 Respuestas
  5.6K visitas
0
Votos
deshacer
Hola,

Estoy intentando enviar un correo electrónico basado en un cambio de valor de celda indirecto (p. ej., > 7), con el archivo adjunto de correo electrónico y una referencia de celda específica a las celdas modificadas en el cuerpo de mi correo de salida. Tengo el cambio de valor de celda indirecto según los criterios. Sin embargo, recibo un error 424 cuando intento configurar una variable para llamar a la dirección de la celda en mi correo electrónico. ¿Podrías ayudar? Siento que estoy cerca.

Dim xRg como rango
Dim xRgSel como rango
'Establecer rango y objetivo
Sub hoja de trabajo privada_Cambio (según el rango de destino ByVal)
Dim xRgPre como rango
On Error Resume Next
Si Target.Cells.Count > 1, entonces salga de Sub
Establecer xRg = Rango ("Q2:Q43")
Establecer xRgPre = xRg.Precedentes
Establezca xRgSel = Intersect (Objetivo, xRg)
ActiveWorkbook.Guardar
Si xRg.Value > 7 Entonces
Llame a Mail_small_Text_Outlook
ElseIf (Not xRgPre Is Nothing) And (Intersect(Target, xRgPre).Address = Target.Adress) Entonces
Si terminar
Si terminar
End Sub
Sub Mail_small_Text_Outlook ()
Dim xOutApp como objeto
Dim xOutMail como objeto
Dim xMailBody como cadena
Establecer xOutApp = CreateObject("Outlook.Aplicación")
Establecer xOutMail = xOutApp.CreateItem(0)
xMailBody = "Hola, celda(s)" & xRgSel.Address(False, False) & _
" en la hoja de trabajo '" & Me.Name & "' son 3 días después de la ingesta" & vbNewLine & vbNewLine & _
"Revise y comuníquese con los clientes potenciales" & vbNewLine & _
"Gracias"
On Error Resume Next
Con xOutMail
.Para = ""
.CC = ""
.BCC = ""
.Subject = "Días desde la ingesta de plomo"
.Cuerpo = xCuerpo de correo
.Adjuntos.Agregar (EsteLibro.NombreCompleto)
.Mostrar 'o .Enviar
End With
En caso de error, vaya a 0
Establecer xOutMail = Nada
Establecer xOutApp = Nada
End Sub


¡Gracias!
Hace años 1
·
#2838
0
Votos
deshacer
Hola,

Cuando obtenga un error 424, haga clic en depurar y luego tome una captura de pantalla del problema localizado.
depuración.png

Ejecutamos el código que proporcionó, funcionó bien después de que cambiamos el end if abajo a salir de sub.
cambio.jpg

Cambie su código en consecuencia y luego pruébelo para ver si funciona como desea.

Amanda
Hace años 1
·
#2843
0
Votos
deshacer
¡Gracias, Amanda! Sin embargo, sigo recibiendo el error y el indicador no proporciona una opción de "depuración". Soy bastante nuevo en VBA, ¿podría ser mi sangría? Viendo como funciona en su extremo. Intenté cargar una captura de pantalla, pero tuve dificultades para enviar mi mensaje de respuesta (se está cargando durante largos períodos de tiempo, solo un aviso).
Hace años 1
·
#2844
0
Votos
deshacer
Hola Ryan, ¿solo cambiaste el tachado? end if a salir de sub? (Noté que hay un error tipográfico (eixt) en la captura de pantalla, lo siento).
En caso afirmativo, ¿podría adjuntar el archivo de Excel donde aplicó el código?

Amanda
¡Gracias, Amanda! Sin embargo, sigo recibiendo el error y el indicador no proporciona una opción de "depuración". Soy bastante nuevo en VBA, ¿podría ser mi sangría? Viendo como funciona en su extremo. Intenté cargar una captura de pantalla, pero tuve dificultades para enviar mi mensaje de respuesta (se está cargando durante largos períodos de tiempo, solo un aviso).


Puede intentar publicarlo con los archivos adjuntos ahora. :)
Hace años 1
·
#2858
0
Votos
deshacer
Hola Amanda, perdón por la demora, cambié End if a Exit Sub. Pero no puedo agregar el archivo de Excel o las capturas de pantalla por algún motivo: no puedo responder con los archivos adjuntos. No pude agregar el archivo de Excel de todos modos, ya que es un archivo xlsm y no es compatible con la carga de archivos. ¿Podemos chatear por correo electrónico?
Hace años 1
·
#2859
0
Votos
deshacer
Hola Amanda y ExcelFan, perdón por la demora, cambié End if a Exit Sub. Pero todavía no puedo agregar el archivo de Excel o las capturas de pantalla por algún motivo: no puedo responder con los archivos adjuntos. No pude agregar el archivo de Excel de todos modos, ya que es un archivo xlsm y no es compatible con la carga de archivos. De todos modos podemos chatear por correo electrónico? De esa manera puedo pasar los archivos.
Hola Amanda, perdón por la demora, cambié End if a Exit Sub. Pero no puedo agregar el archivo de Excel o las capturas de pantalla por algún motivo: no puedo responder con los archivos adjuntos. No pude agregar el archivo de Excel de todos modos, ya que es un archivo xlsm y no es compatible con la carga de archivos. ¿Podemos chatear por correo electrónico?


Hola,

¿Por qué no guardarlo como zip o rar?:)
Hace años 1
·
#2864
0
Votos
deshacer
Lamentablemente, no puedo publicar ningún tipo de archivo, ni enlaces. Me puse en contacto con el soporte, pero ahora respondo hasta el momento. No estoy seguro de la causa, pero al enviar la página solo se carga y no se envía. Probé varios navegadores, borré mi caché y varios dispositivos :/

¡Agradezco su disposición a ayudar! Lamentablemente no puedo pasar archivos en este momento
Hace años 1
·
#2867
0
Votos
deshacer
Hola Ryan

Gracias por la respuesta. Verificaremos si hay algún problema con el archivo adjunto. Por ahora, envíe su archivo a

Amanda
Hace años 1
·
#2868
0
Votos
deshacer
Hola amanda

Este es Ryan4 de ExtendOffice. Gracias por enviar su dirección de correo electrónico para ayudar a resolver mi problema. Tengo la intención de ser un miembro activo desde que descubrí su fantástica comunidad, ¡así que espero resolver mis problemas de carga de archivos eventualmente!

Por ahora, por favor vea el archivo adjunto aquí. Actualicé el código para leer "Salir de Sub" en lugar de "Finalizar si", sin embargo, sigo recibiendo un error sin opción de depuración. ¿Puedes aconsejarme? Tal vez sea mi estructura o sangría.

¡Gracias nuevamente por tu asistencia!
Ryan

Hola Ryan

Mensaje de correo electrónico recibido. Como puede haber otros usuarios que tengan el mismo problema, responderé aquí.

Pruebe el siguiente método:
1. Abierto Referencia.
vba-referencia.png

2. Comprobar Biblioteca de objetos de Microsoft Outlook 16.0. Nota: en lugar de 16.0, es posible que tenga 15.0, 14.0, etc.
biblioteca-vba.png

3. Reemplace el código a continuación
Dim xOutApp As Object
Dim xOutMail As Object

a
Dim xOutApp As Outlook.Application
Dim xOutMail As Outlook.MailItem


Intente los 3 pasos anteriores. Dado que su vba funciona bien en nuestra computadora, es difícil para nosotros reproducir el problema. ¡Ojalá este método te ayude!

Amanda
Hace años 1
·
#2887
0
Votos
deshacer
Hola, Amanda, tengo la biblioteca de objetos de Microsoft Outlook 16.0, pero desafortunadamente esto tampoco funcionó. Tengo un nuevo error que apunta al código del problema. Parece que Outlook.Application no es un tipo definido. ¿Necesito crear algún enlace anticipado para calificar el objeto?

Gracias!

(p.d., de nuevo, no puedo enviar capturas de pantalla ni archivos adjuntos; lo enviaré por correo electrónico, pero no dude en publicarlo aquí para la comunidad también).
Hace años 1
·
#2895
0
Votos
deshacer
Hola Ryan

Mensaje recibido. Pero lo siento, dado que el código funciona en nuestras computadoras, no podemos pensar en otras soluciones para usted ahora. :(

Acerca de las capturas de pantalla, ¿hizo clic en Cargar archivos bajo el Adjuntos y luego seleccione los archivos que son compatibles con el foro?

Amanda
Hace años 1
·
#2902
0
Votos
deshacer
Bummer:/ Me pregunto qué podría ser. Intentaré jugar un poco más con eso.

Sobre los archivos, lo intenté. Lo subo bien, pero después de verificar que no soy un robot y presionar responder. La página solo carga y carga, pero nunca envía. Puedo responder muy bien sin archivos adjuntos. Amanda, te envié por correo electrónico los archivos adjuntos y el libro.

¡Les haré saber a todos si resolví esto!
Gracias por toda la ayuda de todos modos :)

Ryan
  • De la página:
  • 1
Aún no hay respuestas para esta publicación.