Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo guardar y enviar la nómina de cada persona por separado usando Excel

Cómo guardar y enviar la nómina de cada persona por separado usando Excel

1. Organice los detalles del salario como se muestra a continuación

Está bien si el formato es diferente, necesita ajustar el código

2. Pestaña "Herramientas de desarrollo"; inserte el comando Control; cambie el nombre del control y el nombre para mostrar;

3. Ingrese a la interfaz de programación VBA;

Envío privado completo automático Mail_Click()

'Para poder enviar correctamente y debe configurarse de manera efectiva para Microseft Outlook

En caso de error, reanudar siguiente

Dim rowCount, endRowNo

Dim objOutlook As New Outlook.Application

Dim objMail As MailItem

'Obtiene el área de datos de la hoja de trabajo actual. número de filas conectadas a Cells(1, 1)

endRowNo = Cells(1, 1).CurrentRegion.Rows.Count

'Crear objOutlook como un objeto de aplicación Outlook

Establecer objOutlook = New Outlook.Application 'Iniciar un ciclo de envío de correos electrónicos

Para rowCount = 3 To endRowNo 'Crear objMail como un objeto de correo

Establecer objMail = objOutlook. CreateItem(olMailItem)?

¿Usando objMail? Establezca la dirección del destinatario (desde el campo "Dirección de correo electrónico" en la tabla de la libreta de direcciones)

.To = Cells(rowCount, 5) ' Establezca la dirección de copia (desde el campo "dirección de correo electrónico" en la tabla de la libreta de direcciones)

'.CC = Cells(rowCount, 0) 'Establezca el asunto del correo electrónico Cells(1, 1) es el valor de la celda a1 donde se encuentra el asunto, Celdas(2, 1) es el valor de la celda a2

.Asunto = Celdas(1, 1) 'Establece el contenido del correo electrónico (desde la dirección tabla de libros) ¿Contenido" campo obtenido)? alinear el modo de visualización del texto de la celda a la izquierda (a la izquierda), centro (centro), derecha (a la derecha), el valor predeterminado es centro, ancho-ancho alto-alto grosor de la línea del borde de la celda, bordercolor devuelve o establece el color del borde del objeto ? colSpan es un lenguaje de programación cuyas propiedades pueden establecer o devolver el número de elementos de la tabla en las columnas 'Cells(rowCount,2)? Nombre de datos de la columna B, si su nombre no está en la columna B, modifique el número 2, y así sucesivamente, si su nombre no está en la columna B. Si no necesita tantas columnas, puede eliminarlas HTMLBody = "Hola
  " + Cells(rowCount, 2) + Cells(rowCount, 6) + "

    Esto es lo que Los detalles son los siguientes:" + _? "

? " + _?"

?

" + Celdas(rowCount) , 1) + "? ? '25'> " + Celdas(2, 3) + "? " + Celdas(rowCount, 3) + "?< td ancho='25%' alto='25'> " + Celdas(2, 4) + "? "? " + Celdas(rowCount, 5) + "? ? < td? ancho='25%' alto='25'> " + Str(Cells(rowCount, 7))+ " " + Str(Cells(rowCount, 8)) + " + (Cells(2, 8)) + " + (Celdas(2, 8)) + "? "? < td? ancho='25%' alto='25'> " + Str(Cells(rowCount, 9))+ " " + Str(Cells(rowCount, 10)) + " " + _?"? " + Str(Cells(rowCount, 11)) + " + (Cells(2, 11)) + " ? " + Str(Celdas(rowCount, 12))+ " + (Celdas(2, 12))+ " + (Celdas(2, 12))+ " + (Celdas(2, 12))+ "? "? " + Str(Celdas(rowCount, 13)) + " + (Celdas(2, 13)) + " ? " + Str(Celdas(rowCount, 14))+ " + (Celdas(2, 14))+ " + (Celdas(2, 14))+ " + (Celdas( 2, 14))+ "? "? " + Str(Cells(rowCount, 15)) + " + (Celdas(2, 15)) + " ? ? " + Str(Celdas(rowCount, 17))+ " + (Celdas(2) , 17))+ " ? " + Str(Celdas(rowCount, 18)) + " + (Celdas(2, 18)) + " + (Celdas(2, 18)) + " + (Celdas(2, 18) ) + "? "? " + Str(Celdas(rowCount, 19))+ " + (Celdas(2,

19))+ " ?

" + Str(Celdas(rowCount, 20)) + " + (Celdas(2, 20)) + " + (Celdas(2, 20)) + " + (Celdas(2, 20)) + "? "? " + Str(Cells(rowCount, 21)) + " + (Cells(2, 21)) + " ? " + Str(Celdas(rowCount, 22))+ " + (Celdas(2) , 22))+ " + (Celdas(2, 22))+ " + (Celdas(2, 22))+ "? "? " + Str(Cells(rowCount, 23) ) + " "

' Establecer el archivo adjunto (desde el campo "Adjunto" de la tabla de la libreta de direcciones), si no hay ningún archivo adjunto, ¿eliminar esta oración?

.Attachments.Add Cells(rowCount, 24).Value 'Enviar correos electrónicos automáticamente. Enviar

Fin 'Destruir objeto objMail

Establecer objMail = Nothing

Siguiente

'Destruir objeto objOutlook

Establecer objOutlook = Nada 'Enviar un mensaje cuando se hayan enviado todos los correos electrónicos

MsgBox rowCount - 3 & "¡El salario de un empleado se ha enviado correctamente!"

Nómina
" + Celdas(2, 1) + " " + Celdas(2, 2) + "? "
" + Celdas(2, 5) ) + "? " + Celdas(2, 6) + "? "
" + (Celdas(2, 7))+ "? " + (Celdas( 2, 8)) + "?
" + (Celdas(2, 9))+ "? " + (Celdas( 2, 10)) + "?
" + (Celdas(2, 11)) + "?

ht='25'> " + (Celdas(2, 12))+ "?

" + (Celdas(2, 13)) + "? " + (Celdas(2, 14))+ "?
" + (Celdas(2, 15)) + " " + (Celdas(2, 16)) + "? " + Str(Cells(rowCount, 16)) + " + (Celdas (2, 16)) + " + (Celdas(2, 16)) + " + (Celdas(2, 16)) + "? "
" + (Celdas(2, 17))+ "? " + (Celdas(2, 18)) + "?
" + (Celdas(2, 19))+ " " + (Celdas(2, 20)) + "?
" + (Celdas(2, 21)) + "? " + ( Celdas(2, 22)) + "?+ "?
" + (Celdas(2, 23)) + "?