2016-09-16 36 views
0

我在後臺運行Outlook。使用Excel 2010中將更改的行號添加到郵件正文

我想要做如下:

  • 發送自動郵件定義者
  • 郵件的主體應該包含其中的變化發生
  • 的行數和列數它應細胞的一個指定列只工作

我有以下幾點:

Private Sub Worksheet_Change(ByVal Target As Range) 
Dim APP_OUTLOOK As Object 
Dim MESSAGE As Object 

Set APP_OUTLOOK = CreateObject("Outlook.Application") 
Set MESSAGE = APP_OUTLOOK.CreateItem(0) 

If Not Intersect(Target, Range("A1:A1048576")) Is Nothing Then 
    With MESSAGE 
     .To = "[email protected]" 
     .Subject = "" 
     .Body = "hey buddy, something has changed please have a look at cell: " 
'the text should show: "hey buddy, something has changed please have a look at cell: A25000." 
     .Display 
    End With 
End If 
End Sub 
  • 如果單元格中的值從「」改變的東西或改變一個值,另一個值
  • 它是動態的,它應該只發送郵件,因爲我不能指定一個確切的細胞
  • 單元格包含格式爲「DD.MM.YY」日期

隨着扎克的幫助下,我能解決我的問題。

下面是工作代碼:

Private Sub Worksheet_Change(ByVal Target As Range) 
Dim APP_OUTLOOK As Object 
Dim MESSAGE As Object 

Set APP_OUTLOOK = CreateObject("Outlook.Application") 
Set MESSAGE = APP_OUTLOOK.CreateItem(0) 

    If Not Intersect(Target, Range("A1:A1048576")) Is Nothing Then 
     With MESSAGE 
      .To = "[email protected]" 
      .Subject = "" 
      .Body = "hey buddy," & vbNewLine & vbNewLine & "the file has been modified" & vbNewLine & vbNewLine & "following cell has a new entry: " & Target.Address & vbNewLine & vbNewLine & "the new entry has the value " & Target.Text & vbNewLine & vbNewLine & "please check the excel file" & vbNewLine & vbNewLine & "best wishes," & vbNewLine & "me" 
      .Display 
     End With 
    End If 
End Sub 
  • 我已經加入Target.Text顯示該值和Target.Address是顯示小區的行和列。

回答

0

我沒有測試過你的代碼,但它看起來應該可以工作。要更改單元格的地址,請在.Body聲明末尾添加Target.Address