在 Windows 上使用新版 Outlook 进行专业沟通和提高工作效率
我们使用翻译服务协助我们的用户。请原谅语法错误。
>>
我需要编辑并插入两个宏吗?
>>
不。我用了两个宏来演示,如果字段没有变化,第一个宏会重新发送提醒。第二个宏演示了如何检查提醒是否已经发送。
你可以将它发送给我 - ******@slipstick.com
大神们您好,QQ邮件现在会触发邮件发送行为了,但是不点击 10列的单元格下不会触发邮件发送的行为
每次都需要点击J10列有“提醒”的单元格了才会触发邮件发送的行为,單元格的“提醒”不是文本,是輸入函數轉換的自動填充的“提醒”,,該怎麼辦,期待您的再次幫助......謝謝.....祝您開心快樂每一天..
在 Windows 上使用新版 Outlook 进行专业沟通和提高工作效率
锁定的问题。 此问题已从 Microsoft 支持社区迁移。 你可投票决定它是否有用,但不能添加评论或回复,也不能关注问题。
我们使用翻译服务协助我们的用户。请原谅语法错误。
>>
我需要编辑并插入两个宏吗?
>>
不。我用了两个宏来演示,如果字段没有变化,第一个宏会重新发送提醒。第二个宏演示了如何检查提醒是否已经发送。
你可以将它发送给我 - ******@slipstick.com
大神你好,俺有点不明白,需要编辑插入两个宏吗?俺把Excel文档私发给您帮测试一下好吗?
我们使用翻译服务协助我们的用户。请原谅语法错误。
你刚刚发布的宏对我来说有效——可能是因为我把它拼凑起来测试了一下,所以它被替换成了我电子表格格式中的某个值。我不认为这是因为我用了一个简单的公式将J列标记为已过期,因为它只读取了该值。
我有这个视频——我运行了你刚发布的宏两次,显示它会重新发送所有消息。编辑后的版本只会发送新更改的记录。
https://app.screencast.com/rRAQQbZHbUwtS
这是第二个宏,它标记行,因此除非值发生变化,否则邮件只会发送一次。
https://www.slipstick.com/files/RunMacroMarkSen...
注意:我添加了 .Save 功能,以便测试时可以更快地关闭消息。您需要删除草稿。
注意:此回复中的链接指的是值得信赖的 Microsoft MVP 的文章或博客文章。
我们使用翻译服务协助我们的用户。请原谅语法错误。
您是否更改了这些值以匹配电子表格中的中文?
如果 cell.Value = "Expiration" 或 cell.Value = "Reminder" 则
另外,需要明确的是,这不是一个自动宏 - 您需要手动运行它。
接下来我将测试该宏。
大神您好,我复制了您给的连接代码,测试了不行,帮看下俺哪里出错了.......谢谢!
StartFragment
Public Sub RunMacro()
Dim Target As Range
Application.DisplayAlerts = True
Dim xOutApp As Object
Dim xMailItem As Object
Dim cell As Range
Dim xMailBody As String
Dim KeyColumn As String
Dim CheckValue As String
'On Error Resume Next
'Application.ScreenUpdating = False
'Application.DisplayAlerts = False
' Set the target column (column J = column 10)
'If Target.Column = 10 Then
' find the used range
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
' check the date column
For Each cell In Range("J2:J" & lastrow)
If cell.Value = "Expiration" Or cell.Value = "Reminder" Then
Debug.Print cell.Row
Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xMailBody = "Reminder:" & vbNewLine & _
"Worksheet:" & Me.Name & vbNewLine & _
"Location: " & Range("C" & cell.Row).Value & vbNewLine & _
"Content: " & cell.Value & vbNewLine & _
"Time:" & Format(Now, "yyyy-mm-dd hh:mm:ss") & vbNewLine
With xMailItem
.To = "******@address.com"
.Subject = "?Excel Reminder?Task due reminder!"
.Body = xMailBody
.Display 'Change to .Send to send automatically
.Save
End With
Set xMailItem = Nothing
Set xOutApp = Nothing
End If
Next cell
'End If
'Application.DisplayAlerts = True
'Application.ScreenUpdating = True
End Sub
EndFragment