Jak wysłać / wysłać zakres komórek za pośrednictwem programu Outlook z programu Excel?
Czy kiedykolwiek miałeś problem, że po zakończeniu raportu w arkuszu roboczym musisz wysłać do zakresu komórek w tym arkuszu, które zawierają ważne dane do konkretnego odbiorcy. Czy są jakieś szybkie sposoby na wysłanie e-maila z tego zakresu z programu Excel bez otwierania Outlooka?
Wyślij zakres komórek jako załącznik z Excela za pomocą kodu VBA
Wyślij zakres komórek jako treść z programu Excel za pomocą kodu VBA
Wyślij zakres komórek jako załącznik z Excela za pomocą kodu VBA
Poniższy kod VBA może pomóc w wysłaniu wybranego zakresu jako załącznika w programie Excel. Zrób tak:
1. Otwórz skoroszyt, a następnie przytrzymaj ALT + F11 klawisze, aby otworzyć Okno Microsoft Visual Basic for Applications.
2. Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.
Kod VBA: wyślij zakres komórek jako załącznik z programu Excel
Sub SendRange()
'Update 20131209
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
If Wb2.HasVBProject Then
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
Else
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
End If
Case Excel8:
xFile = ".xls"
xFormat = Excel8
Case xlExcel12:
xFile = ".xlsb"
xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
.To = ""
.CC = ""
.BCC = ""
.Subject = "information of kte"
.Body = "hello, please check and read this document. "
.Attachments.Add Wb2.FullName
.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Note: W powyższym kodzie możesz zmienić następujące informacje według własnych potrzeb.
- .Do = ""
- .CC = „”
- .BCC = „”
- .Subject = "informacja o kte"
- .Body = "witaj, sprawdź i przeczytaj ten dokument."
3. Następnie kliknij F5 , aby uruchomić ten kod, a pojawi się okno zachęty przypominające o wyborze zakresu, który chcesz wysłać. Zobacz zrzut ekranu:
4. Następnie kliknij OK, a pojawi się okno zachęty, po zakończeniu paska postępu kliknij Dopuszczać, a następnie określony zakres komórek został wysłany do odbiorcy jako załącznik.
Wyślij zakres komórek jako treść z programu Excel za pomocą kodu VBA
Jeśli chcesz wysłać określony zakres jako część treści wiadomości z programu Excel, możesz również zastosować następujący kod VBA, aby go rozwiązać.
Kutools dla programu Excel, ponad 120 przydatne funkcje, ułatwiają pracę. | ||
1. Aktywuj arkusz roboczy i przytrzymaj ALT + F11 klawisze, aby otworzyć Okno Microsoft Visual Basic for Applications.
2. Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.
Kod VBA: wyślij zakres komórek jako treść z programu Excel
Sub EmailRange()
'Update 20131209
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
WorkRng.Select
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "Please read this email."
.Item.To = ""
.Item.Subject = "information of kte"
.Item.Send
End With
Application.ScreenUpdating = True
End Sub
Uwaga: W powyższym kodzie możesz zmienić następujące informacje według swoich potrzeb.
- .Introduction = "Przeczytaj tę wiadomość e-mail."
- .Item.To = ""
- .Item.Subject = "informacje o kte"
3. Następnie kliknij F5 klawisz, aby uruchomić ten kod, a pojawi się okno zachęty przypominające o wybraniu zakresu, który chcesz wysłać.
4. Następnie kliknij OK, a pojawi się okno zachęty, po zakończeniu paska postępu kliknij Dopuszczać, a następnie określony zakres komórek został wysłany do odbiorcy jako treść wiadomości.
Uwagi:
1. Te kody są dostępne tylko wtedy, gdy Outlook jest programem pocztowym.
2. Po wysłaniu aktualnego arkusza możesz przejść do programu Outlook, aby sprawdzić, czy wiadomość e-mail została wysłana pomyślnie.
Podobne artykuły:
Jak wysłać arkusz roboczy tylko przez Outlooka z Excela?
Jak wysłać aktualny skoroszyt przez Outlooka z Excela?
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!