Outlook.com 问题

匿名
2025-05-25T09:46:27+00:00

大神们您好,QQ邮件现在会触发邮件发送行为了,但是不点击 10列的单元格下不会触发邮件发送的行为

每次都需要点击J10列有“提醒”的单元格了才会触发邮件发送的行为,單元格的“提醒”不是文本,是輸入函數轉換的自動填充的“提醒”,,該怎麼辦,期待您的再次幫助......謝謝.....祝您開心快樂每一天..

Outlook | Windows | 新版 Outlook for Windows | 商业版

锁定的问题。 此问题已从 Microsoft 支持社区迁移。 你可投票决定它是否有用,但不能添加评论或回复,也不能关注问题。

0 个注释 无注释

32 个答案

排序依据: 非常有帮助
  1. 匿名
    2025-05-30T15:55:15+00:00

    我们使用翻译服务协助我们的用户。请原谅语法错误。

    您是否更改了这些值以匹配电子表格中的中文?
    如果 cell.Value = "Expiration" 或 cell.Value = "Reminder" 则

    另外,需要明确的是,这不是一个自动宏 - 您需要手动运行它。

    接下来我将测试该宏。

    此答案是否有帮助?

    0 个注释 无注释
  2. 匿名
    2025-05-30T15:26:16+00:00

    大神您好,我复制了您给的连接代码,测试了不行,帮看下俺哪里出错了.......谢谢!

    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

    此答案是否有帮助?

    0 个注释 无注释
  3. 匿名
    2025-05-29T05:02:20+00:00

    我们使用翻译服务协助我们的用户。请原谅语法错误。

    这是您需要添加的代码,将值复制到单元格,然后检查它,这样您就不会多次发送消息

    对于范围内的每个单元格(“J2:J”&lastrow)

    '如果已经发送了电子邮件,则跳过
    如果 Range("K" & cell.Row).Value = cell.Value 则
    如果结束

    如果 cell.Value = "Expiration" 或 cell.Value = "Reminder" 则

    '将值复制到下一个单元格,这样你就知道电子邮件已发送
    范围(“K”&cell.Row).值=cell.值

    设置 xOutApp = CreateObject("Outlook.Application")

    此答案是否有帮助?

    0 个注释 无注释
  4. 匿名
    2025-05-29T04:48:34+00:00

    我们使用翻译服务协助我们的用户。请原谅语法错误。

    我测试过的完整宏的文本文件在这里 - https:\www.slipstick.com\files\QQmail-macro.txt

    因为公式设置的是 J 列的值,所以不需要使用 lcase。复制并粘贴公式中的单词即可确保结果准确。

    我没有添加将值复制到新单元格并进行比较的代码。

    我更换了

    ' 设置目标列(J列 = 第10列)
    如果 Target.Column = 10 则
    对于目标中的每个单元格
    如果 LCase(cell.Value) = "Expiration" 或 LCase(cell.Value) = "Reminder" 则

    有了这个:

    ' 查找已使用的范围
    lastrow = Cells(Rows.Count,1).End(xlUp).Row
    ' 检查 J 列
    对于范围内的每个单元格(“J2:J”&lastrow)
    如果 cell.Value = "Expiration" 或 cell.Value = "Reminder" 则
    rowNumber = Range(cell.Address).Row

    并使用它从电子表格中获取值以包含在电子邮件中
    xMailBody = "提醒:" & vbNewLine & _
    "工作表:" & Me.Name & vbNewLine & _
    "位置:" & Range("C" & cell.Row).Value & vbNewLine & _
    “内容:”&cell.Value&vbNewLine&_
    “时间:” & 格式(现在,“yyyy-mm-dd hh:mm:ss”) & vbNewLine

    此答案是否有帮助?

    0 个注释 无注释
  5. 匿名
    2025-05-29T04:03:43+00:00

    大神您好,代码是上一位大神设置的,俺不懂这些,您可不以把完整代码发一份试用下.....谢谢!

    此答案是否有帮助?

    0 个注释 无注释