Jak odeslat e-mail, pokud je určitá buňka upravena v aplikaci Excel?
Tento článek pojednává o odeslání e-mailu přes Outlook, když je v Excelu upravena buňka v určitém rozsahu.
Pošlete e-mail, pokud je buňka v určitém rozsahu upravena kódem VBA
Pošlete e-mail, pokud je buňka v určitém rozsahu upravena kódem VBA
Pokud potřebujete automaticky vytvořit nový e-mail s připojeným aktivním sešitem, když je v určitém listu upravena buňka v rozsahu A2:E11, může vám pomoci následující kód VBA.
1. V listu, který potřebujete odeslat e-mail na základě jeho upravené buňky v určitém rozsahu, klikněte pravým tlačítkem na kartu listu a poté klikněte na Zobrazit kód z kontextové nabídky. Viz snímek obrazovky:
2. Ve vyskakovacím okně Microsoft Visual Basic pro aplikace zkopírujte a vložte pod kód VBA do okna Kód.
Kód VBA: Odeslat e-mail, pokud je buňka ve specifikovaném rozsahu upravena v aplikaci Excel
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2017/9/12
Dim xRgSel As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xMailBody As String
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xRg = Range("A2:E11")
Set xRgSel = Intersect(Target, xRg)
ActiveWorkbook.Save
If Not xRgSel Is Nothing Then
Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xMailBody = "Cell(s) " & xRgSel.Address(False, False) & _
" in the worksheet '" & Me.Name & "' were modified on " & _
Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _
" by " & Environ$("username") & "."
With xMailItem
.To = "Email Address"
.Subject = "Worksheet modified in " & ThisWorkbook.FullName
.Body = xMailBody
.Attachments.Add (ThisWorkbook.FullName)
.Display
End With
Set xRgSel = Nothing
Set xOutApp = Nothing
Set xMailItem = Nothing
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Poznámky:
3. zmáčkni Další + Q současně zavřete Microsoft Visual Basic pro aplikace okno.
Od této chvíle se upraví libovolná buňka v rozsahu A2: E11, vytvoří se nový e-mail s připojeným aktualizovaným sešitem. A všechna zadaná pole, jako je předmět, příjemce a tělo e-mailu, budou uvedena v e-mailu. Zašlete prosím e-mail.
Poznámka: Kód VBA funguje pouze v případě, že jako e-mailový program používáte Outlook.
Související články:
- Jak automaticky odesílat e-maily na základě hodnoty buňky v aplikaci Excel?
- Jak odeslat e-mail prostřednictvím aplikace Outlook, když je sešit uložen v aplikaci Excel?
- Jak poslat e-mail, když kliknete na tlačítko v aplikaci Excel?
- Jak poslat e-mail, pokud byl v aplikaci Excel splněn termín splatnosti?
- Jak poslat e-mailem připomenutí nebo oznámení, pokud je sešit aktualizován v aplikaci Excel?
Nejlepší nástroje pro produktivitu v kanceláři
Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času. Kliknutím sem získáte funkci, kterou nejvíce potřebujete...
Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci
- Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
- Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
- Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!