Вторник, 20 сентября 2022
  1 Ответы
  4.8 тыс. Посещений
Привет, я новичок в Excel, и мне было интересно, можно ли настроить код Excel таким образом, чтобы отправлять электронное письмо определенному человеку, когда значение в столбце помечается как завершенное. Например, если JobX находится в A2, и в той же строке инициалы менеджеров проекта находятся в этой строке, B2, это задание помечается как завершенное в C2, когда столбец C помечается как завершенный, должно быть отправлено электронное письмо менеджеру проекта, чьи инициалы находятся в этом ряду. Я нашел код, который может отправлять электронное письмо, когда ячейка столбца помечается как завершенная, но мне было интересно, могу ли я быть более конкретным, например, отправлять электронное письмо конкретному человеку при соблюдении определенных условий. Спасибо,
Крис
1 год назад
·
#3076
Всем привет,

Пожалуйста, попробуйте код ниже :)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xRg As Range
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Range("c:c"), Target) Is Nothing Then Exit Sub
If Target.Value = "done" Then
Set xRg = Target.Offset(0, -1) 'Find email address
Call Mail_small_Text_Outlook(xRg.Value)
End If

End Sub

Sub Mail_small_Text_Outlook(ByVal xTo As String)
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "Hi there" & vbNewLine & vbNewLine & _
"This is line 1" & vbNewLine & _
"This is line 2"
On Error Resume Next
With xOutMail
.To = xTo
.CC = ""
.BCC = ""
.Subject = "send by cell value test"
.Body = xMailBody
.Display 'or use
' .Send
End With
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub

Вы упомянули, что хотите отправить электронное письмо PM, инициалы которого находятся в той же строке, которая отмечена как завершенная. Находится ли его/ее адрес электронной почты в той же строке? Код в 6-й строке помогает найти инициалы менеджеров проекта, вы можете изменить его, чтобы он нашел адрес электронной почты.

Измените строку «выполнено» в 5-й строке на фактическую строку, которую вы используете, чтобы отметить задание как выполненное.

Обратите внимание, что вы можете изменить фрагмент ниже в соответствии с вашими потребностями.
xMailBody = "Привет!" & vbNewLine & vbNewLine & _
"Это строка 1" & vbNewLine & _
"Это линия 2"
On Error Resume Next
С xOutMail
.То = хТо
.CC = ""
.BCC = ""
.Subject = "проверка значения ячейки"
.Body = xMailBody
.Отображать или использовать
' .Отправлять
Конец с


Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь спрашивать меня.

Аманда
  • Страница:
  • 1
Там нет ответов, сделанные на этот пост пока нет.