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:" + _? "
Nómina | |||
" + Celdas(2, 1) + " | " + Celdas(rowCount) , 1) + " | ?" + Celdas(2, 2) + "? " | |
" + Celdas(rowCount, 3) + " | ?< td ancho='25%' alto='25'> " + Celdas(2, 4) + "? "|||
" + Celdas(2, 5) ) + "? | " + Celdas(rowCount, 5) + " | ?" + Celdas(2, 6) + "? " | |
" + (Celdas(2, 7))+ "? | < td? ancho='25%' alto='25'> " + Str(Cells(rowCount, 7))+ "" + (Celdas( 2, 8)) + "? | " + Str(Cells(rowCount, 8)) + " + (Cells(2, 8)) + " + (Celdas(2, 8)) + "? " | |
" + (Celdas(2, 9))+ "? | < td? ancho='25%' alto='25'> " + Str(Cells(rowCount, 9))+ "" + (Celdas( 2, 10)) + "? | " + Str(Cells(rowCount, 10)) + " | |
" + (Celdas(2, 11)) + "? | " + Str(Cells(rowCount, 11)) + " + (Cells(2, 11)) + " | ?ht='25'> " + (Celdas(2, 12))+ "? | " + Str(Celdas(rowCount, 12))+ " + (Celdas(2, 12))+ " + (Celdas(2, 12))+ " + (Celdas(2, 12))+ "? " |
" + (Celdas(2, 13)) + "? | " + Str(Celdas(rowCount, 13)) + " + (Celdas(2, 13)) + " | ?" + (Celdas(2, 14))+ "? | " + Str(Celdas(rowCount, 14))+ " + (Celdas(2, 14))+ " + (Celdas(2, 14))+ " + (Celdas( 2, 14))+ "? " |
" + (Celdas(2, 15)) + " | " + Str(Cells(rowCount, 15)) + " + (Celdas(2, 15)) + " | ?" + (Celdas(2, 16)) + "? | ?" + Str(Cells(rowCount, 16)) + " + (Celdas (2, 16)) + " + (Celdas(2, 16)) + " + (Celdas(2, 16)) + "? " |
" + (Celdas(2, 17))+ "? | " + Str(Celdas(rowCount, 17))+ " + (Celdas(2) , 17))+ " | ?" + (Celdas(2, 18)) + "? | " + Str(Celdas(rowCount, 18)) + " + (Celdas(2, 18)) + " + (Celdas(2, 18)) + " + (Celdas(2, 18) ) + "? " |
" + (Celdas(2, 19))+ " | " + Str(Celdas(rowCount, 19))+ " + (Celdas(2, 19))+ " | ? " + (Celdas(2, 20)) + "? | " + Str(Celdas(rowCount, 20)) + " + (Celdas(2, 20)) + " + (Celdas(2, 20)) + " + (Celdas(2, 20)) + "? " |
" + (Celdas(2, 21)) + "? | " + Str(Cells(rowCount, 21)) + " + (Cells(2, 21)) + " | ?" + ( Celdas(2, 22)) + "?+ "? | " + Str(Celdas(rowCount, 22))+ " + (Celdas(2) , 22))+ " + (Celdas(2, 22))+ " + (Celdas(2, 22))+ "? " |
" + (Celdas(2, 23)) + "? | " + Str(Cells(rowCount, 23) ) + " |