Jump to content

Benito Bartolomé

Members
  • Posts

    338
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Benito Bartolomé

  1. Gracias @DiegoPC Estuve trabajando con el For Each pero no lo lograba. Imaginaba que ese era el camino pero me daba error en la composición del código. Muchas gracias.
  2. Hola a todos; Tengo una duda que no se como resolver y me gustaría salir de dudas. En un formulario he puesto a modo de prueba 18 labels y un botón que al ejecutarlo le quita el color de fondo a cada label. Lo que no sé es si es posible mediante un ciclo que controle el nombre de cada label y así evitar repetir tantas veces el mismo procedimiento. El procedimiento es el siguiente y lo pongo así porque no deja insertar código: Option Explicit Private Sub CommandButton1_Click() ' ¿Hay alguna manera para mediante una variable o función para no repetir ' "Me.Label_ 1 ---> 18" veces? Me.Label1.BackStyle = fmBackStyleTransparent Me.Label2.BackStyle = fmBackStyleTransparent Me.Label3.BackStyle = fmBackStyleTransparent Me.Label4.BackStyle = fmBackStyleTransparent Me.Label5.BackStyle = fmBackStyleTransparent Me.Label6.BackStyle = fmBackStyleTransparent Me.Label7.BackStyle = fmBackStyleTransparent Me.Label8.BackStyle = fmBackStyleTransparent Me.Label9.BackStyle = fmBackStyleTransparent Me.Label10.BackStyle = fmBackStyleTransparent Me.Label11.BackStyle = fmBackStyleTransparent Me.Label12.BackStyle = fmBackStyleTransparent Me.Label13.BackStyle = fmBackStyleTransparent Me.Label14.BackStyle = fmBackStyleTransparent Me.Label15.BackStyle = fmBackStyleTransparent Me.Label16.BackStyle = fmBackStyleTransparent Me.Label17.BackStyle = fmBackStyleTransparent Me.Label18.BackStyle = fmBackStyleTransparent End Sub Gracias y saludos. Macro.xlsm
  3. Hola a tod@s y todos; Os dejo la última versión del complemento y también la macro. He corregido algún error y también he añadido el botón(que es un label) restablecer ajustes. Como los ajustes se guardan en variables permanentes no disponéis de ellos, entonces al abrir el formulario si los ajustes de "Gmail y Hotmail" están vacíos pues cargo los que yo he puesto como predeterminados. Ojo, solo para estos dos casos. Evidentemente el nombre, contraseña y los ajustes de correo con "dominio propio" debéis ponerlos. Saludos a todos. MMail (1).xlam MMail.xlsm
  4. Gracias @tierra_pampa me alegra que también le haya gustado. Es un placer para un humilde aprendiz. Un abrazo. 👍
  5. Gracias @Antoni y @patriciomates. Me alegra que os haya gustado. Un abrazo.
  6. Gracias @Gerson Pineda me alegra que te haya gustado. Es un honor para mí. Aprovecho también para agradecerle a @Abraham Valencia . Saludos 👍 👍
  7. Hola a todos, he estado últimamente trabajando en un nuevo complemento. Es una idea que se me ocurrió viendo videos de este tipo. Aunque tiene un porcentaje mío también cabe destacar que algunas cosas las he adaptado de ideas de otros programadores. -Este complemento es para enviar mails desde excel sin necesidad de abrir el outlook y además se puede configurar los smtp, puerto y ssl. Os dejo enlace al vídeo que he grabado y también os adjunto el archivo. Video mail configurable Seguramente tiene errores los cuales me podéis indicar. No ser muy crueles aun tengo la "L" de novato. Si está muy mal que Sergio quiete el post. Un abrazo a todos. MMail.xlam
  8. Muy bueno Gerson. Dónde está la magia. 😀👌
  9. Hola Gerson; -Efectivamente esa instrucción ya la había contemplado en la macro, no obstante muchas gracias por la suguerencia. Un fuerte abrazo.
  10. Hola @Abraham Valencia creo haberlo conseguido. Ya me dirás si hay algún error. P.D. Ojo que el mail y el pass están incorrectos. Ya sé que te has dado de cuenta 😅. Un abrazo. MMailPruebas.xlsm
  11. Ok @Abraham Valencia gracias por aclararme este tema. Le había dado vueltas y veía que no progresaba. Intentaré hacer lo que me dices y como dices. A ver si consigo. Muchas gracias y un abrazo Abraham. 👍
  12. Hola Abraham, disculpa pero estoy trabajando y no pude responder antes. He probado este cambio y va mejor puedo comprobarque el archivo generado temporalmente contiene todas las hojas, pero al ejecutar el código me genera el error que adjunto. El error generado es porque cierra la macro y me quedo en el libro guardado que se ha generado. Adjunto imágenes: En cambio si comento para que se cierre el libro me salgo de la macro. ¿No se puede configurar para que el libro que cierre sea el temporal? Muchas gracias Abraham y disculpa tanta molestia. Saludos.
  13. Adjunto la macro por si acaso. Buenos días a todos MMailPruebas.xlsm
  14. Buenos días Abraham, he probado lo que me indicas pero me da fallo de extensión. He adjuntado en el post anterior la macro con la corrección que apuntaste. Muchas gracias por tú interés.
  15. Hola a todos; Con el procedimiento que adjunto guardo el libro en una ruta temporal con la hoja activa, después copio esa ruta en un textbox que tengo en un formulario e envío el mail. Hasta aquí todo bien. La consulta es si es factible que se guarde todo el libro con " todas las hojas que tenga". Saludos y muchas gracias como siempre por su colaboración. Sub adjuntarLibro() Dim RutaTemporal As String, vArchivo As Workbook, vArchivoTemp As String Application.ScreenUpdating = False With ActiveWorkbook .ActiveSheet.Copy End With Set vArchivo = ActiveWorkbook vArchivoTemp = vbNullString RutaTemporal = Environ$("temp") & "\" vArchivoTemp = "LIBRO" & Format(Now, "hh-mm-ss") Application.DisplayAlerts = False vArchivo.SaveAs RutaTemporal & vArchivoTemp & ".xlsx" NombreArchivo = RutaTemporal & vArchivoTemp & ".xlsx" MiMail.txtAdjunto=NombreArchivo vArchivo.Close Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
  16. Hola Gerson, me gustó también mucho tú idea. Ya me la he guardado a buen recaudo. Muchas gracias por todo Gerson, te lo agradezco mucho. Un abrazo 👍
  17. Gracias Antoni, ya veo las dos líneas que has comentado. Saludos y muchas como siempre. 👍
  18. Hola Antoni, a ver si me puedes ayudar con el inputBox. No es por dar la lata pero seguramente en alguna ocasión igual tengo que utilizar el botón cancelar. Si selecciono alguna celda va bien pero si por circunstancias cancelo me da error "424 en tiempo de ejecución" He intentado añadir lo siguiente: Dim vRango As Range Dim vTitulo As String vTitulo = "Seleccionar " Set vRango = Application.InputBox _ (prompt:="Seleccionar el rango a copiar", Title:=vTitulo, Default:="A2", Type:=8) 'Añadí esto------------------------------- If vRango <> Empty Then MsgBox "Aceptar", vbInformation, "Aceptar" Else MsgBox "Aceptar", vbInformation, "cancelar" End If '----------------------------------------- vRango.Copy TextBox5.SetFocus SendKeys "^v" DoEvents Application.CutCopyMode = False Pero me vuelve a dar error ¿?, no sé. Saludos.
  19. Hola Antoni, pues menos mal que he preguntado, iluso de mí. Puedes con todo😂, no hay reto que se resista. Muchas gracias por la ayudita. "E se chove que chova". Un abrazo enorme.
  20. Hola a todos; Imagino que lo que voy a preguntar no se puede hacer pero quiero salir de dudas si sois tan amables. ¿Es posible cargar en un textBox el contenido de mas de un rango de celdas? Creo que únicamente concatenando, no? Adjunto la macro y saludos a todos. MRango.xlsm
  21. Hola @Abraham Valencia lo he "tuneado" un pelín. Añado botón "+" para añadir el mail y contraseña que se guardan en una variable permanente. De esta manera cualquiera que ponga su mail y contraseña puede usar el formulario. Un abrazo y buen finde. MMail.xlsm
  22. Creo que ahora va bien. Dejo el código: Sub enviarMail() Dim vCorreo As String, vDestino As String, vCC As String, vBCC As String, vMensaje As String, vBody As String, vPass As String Dim Email As CDO.Message vCorreo = "xxxxxxx@hotmail.com" 'Vuestro hotmail vPass = "xxxx" '<---Contraseña del hotmail vDestino = MiMail.TextBox1 vCC = MiMail.TextBox2 vBCC = MiMail.TextBox3 vMensaje = MiMail.TextBox4 vBody = MiMail.TextBox5 Set Email = New CDO.Message 'Email.Configuration.Fields(cdoSMTPServer) = "smtp.gmail.com" 'Gmail Email.Configuration.Fields(cdoSMTPServer) = "smtp.office365.com" '"smtp.live.com" 'Hotmail Email.Configuration.Fields(cdoSendUsingMethod) = 2 With Email.Configuration.Fields .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = CLng(25) 'hotmail ' .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = CLng(465) 'gmail .Item("http://schemas.microsoft.com/cdo/" & "configuration/smtpauthenticate") = Abs(1) .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30 .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = vCorreo .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = vPass .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True End With With Email .To = vDestino .From = vCorreo .CC = vCC .BCC = vBCC .Subject = vMensaje .TextBody = vBody .Configuration.Fields.Update On Error Resume Next .Send End With If Err.Number = 0 Then MsgBox "El mail se envió con éxito", vbInformation, "Informe" Else MsgBox "Se produjo el siguiente error: " & Err.Description, vbCritical, "Error nro " & Err.Number End If End Sub
  23. Hola Abraham, creo que algo hemos avanzado, he hecho el cambio propuesto y e cambiado esta línea; Por esta otra: Y he enviado mails a Gmail y va. Estoy intentado con dominios propios y de momento no va, igual es un problema puntual asi que esperaré un rato a ver si llegan. Muchas gracias. Por cierto el video lo veré hoy en diferido 😀👏
×
×
  • Create New...

Important Information

Privacy Policy