Jak zapisać arkusz roboczy jako plik PDF i wysłać go e-mailem jako załącznik za pośrednictwem programu Outlook?
W niektórych przypadkach może być konieczne wysłanie arkusza jako pliku PDF za pośrednictwem programu Outlook. Zwykle musisz ręcznie zapisać arkusz jako plik PDF, a następnie utworzyć nową wiadomość e-mail z tym plikiem PDF jako załącznikiem w programie Outlook i na koniec wysłać. Wykonywanie tego ręcznie krok po kroku jest czasochłonne. W tym artykule pokażemy, jak szybko zapisać arkusz roboczy jako plik PDF i wysłać go automatycznie jako załącznik za pośrednictwem programu Outlook w programie Excel.
Zapisz arkusz jako plik PDF i wyślij go pocztą e-mail jako załącznik z kodem VBA
Zapisz arkusz jako plik PDF i wyślij go pocztą e-mail jako załącznik z kodem VBA
Możesz uruchomić poniższy kod VBA, aby automatycznie zapisać aktywny arkusz jako plik PDF, a następnie wysłać go pocztą e-mail jako załącznik za pośrednictwem programu Outlook. Wykonaj następujące czynności.
1. Otwórz arkusz roboczy, który zapiszesz jako PDF i wyślesz, a następnie naciśnij inny + F11 klawisze jednocześnie, aby otworzyć Microsoft Visual Basic for Applications okno.
2. w Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł. Następnie skopiuj i wklej poniższy kod VBA do pliku Kod okno. Zobacz zrzut ekranu:
Kod VBA: Zapisz arkusz jako plik PDF i wyślij go pocztą e-mail jako załącznik
Sub Saveaspdfandsend()
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder As String
Dim xYesorNo As Integer
Dim xOutlookObj As Object
Dim xEmailObj As Object
Dim xUsedRng As Range
Set xSht = ActiveSheet
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
If xFileDlg.Show = True Then
xFolder = xFileDlg.SelectedItems(1)
Else
MsgBox "You must specify a folder to save the PDF into." & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Must Specify Destination Folder"
Exit Sub
End If
xFolder = xFolder + "\" + xSht.Name + ".pdf"
'Check if file already exist
If Len(Dir(xFolder)) > 0 Then
xYesorNo = MsgBox(xFolder & " already exists." & vbCrLf & vbCrLf & "Do you want to overwrite it?", _
vbYesNo + vbQuestion, "File Exists")
On Error Resume Next
If xYesorNo = vbYes Then
Kill xFolder
Else
MsgBox "if you don't overwrite the existing PDF, I can't continue." _
& vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Exiting Macro"
Exit Sub
End If
If Err.Number <> 0 Then
MsgBox "Unable to delete existing file. Please make sure the file is not open or write protected." _
& vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Unable to Delete File"
Exit Sub
End If
End If
Set xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Then
'Save as PDF file
xSht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFolder, Quality:=xlQualityStandard
'Create Outlook email
Set xOutlookObj = CreateObject("Outlook.Application")
Set xEmailObj = xOutlookObj.CreateItem(0)
With xEmailObj
.Display
.To = ""
.CC = ""
.Subject = xSht.Name + ".pdf"
.Attachments.Add xFolder
If DisplayEmail = False Then
'.Send
End If
End With
Else
MsgBox "The active worksheet cannot be blank"
Exit Sub
End If
End Sub
3. wciśnij F5 klucz do uruchomienia kodu. w Przeglądaj W oknie dialogowym wybierz folder do zapisania tego pliku PDF, a następnie kliknij OK przycisk.
Uwagi:
Z łatwością zapisz arkusz roboczy lub wiele arkuszy roboczych jako oddzielne pliki PDF naraz:
Podróż Ruta de la Plata w liczbach Podziel skoroszyt użyteczność Kutools dla programu Excel może pomóc w łatwym zapisaniu arkusza roboczego lub wielu arkuszy roboczych jako oddzielnych plików PDF jednocześnie, jak pokazano poniżej. Pobierz i wypróbuj teraz! (30-dzień bezpłatny szlak)
Powiązane artykuły:
- Jak zapisać nazwę pliku Excela ze znacznikiem czasu?
- Jak korzystać z funkcji Zapisz jako, aby automatycznie nadpisać istniejący plik w programie Excel?
- Jak zapisać, wyeksportować wiele / wszystkie arkusze, aby oddzielić pliki CSV lub tekstowe w programie Excel?
- Jak wyłączyć lub nie zezwolić na opcje Zapisz i zapisz jako w programie Excel?
- Jak wyłączyć zapisywanie skoroszytu, ale zezwalać tylko na zapisywanie tak, jak w programie Excel?
Najlepsze narzędzia biurowe
Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%
- Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
- Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
- Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
- Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
- Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
- Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
- Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
- Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
- Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.

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!



















































