火曜日、20 9月2022
  1 返信
  4.8K訪問
こんにちは、私は Excel を初めて使用し、列の値が完了としてマークされたときに特定の人に電子メールを送信する方法で Excel コードを設定できるかどうか疑問に思っていました。 たとえば、JobX が A2 にあり、同じ行のプロジェクト マネージャーのイニシャルがその行 B2 にある場合、このジョブは C2 で完了とマークされ、列 C が完了とマークされると、イニシャルを持つ PM に電子メールが送信されます。その列にあります。 列のセルが完了としてマークされたときにメールを送信できるコードを見つけましたが、特定の条件が満たされたときに特定の人にメールを送信するなど、より具体的にできるかどうか疑問に思っていました。 ありがとう、
Chris Ho (クリス・ホー)
こんにちは、

以下のコードを試してください :)
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行目です」
エラーで次の再開
xOutMailを使用
.To = xTo
.CC = ""
.BCC = ""
.Subject = "セル値テストで送信"
.Body = xMailBody
.表示または使用
' 。送信
最後に


ご不明な点がございましたら、お気軽にお問い合わせください。

アマンダ
  • ページ:
  • 1
この投稿に対する返信はまだありません。